summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/assets/arrow-down-nb.svg36
-rw-r--r--public/assets/arrow-down.svg40
-rw-r--r--public/assets/arrow-up-nb.svg1
-rw-r--r--public/assets/arrow-up.svg40
-rw-r--r--public/assets/book-open-nb.svg1
-rw-r--r--public/assets/book-open.svg40
-rw-r--r--public/assets/calendar-nb.svg1
-rw-r--r--public/assets/calendar.svg40
-rw-r--r--public/assets/delete-bin-nb.svg1
-rw-r--r--public/assets/delete-bin.svg48
-rw-r--r--public/assets/edit-nb.svg1
-rw-r--r--public/assets/edit.svg44
-rw-r--r--public/assets/facebook-nb.svg1
-rw-r--r--public/assets/facebook.svg37
-rw-r--r--public/assets/favicon48x48.pngbin0 -> 3067 bytes
-rw-r--r--public/assets/fond-piscine.jpgbin0 -> 24757 bytes
-rw-r--r--public/assets/home.svg1
-rw-r--r--public/assets/instagram-nb.svg1
-rw-r--r--public/assets/instagram.svg37
-rw-r--r--public/assets/logo-120x75.jpgbin0 -> 12240 bytes
-rw-r--r--public/assets/logo-150x94.jpgbin0 -> 13506 bytes
-rw-r--r--public/assets/logo-fond-bleu.pngbin0 -> 61236 bytes
-rw-r--r--public/assets/logo2.jpgbin0 -> 36899 bytes
-rw-r--r--public/assets/perdu.jpgbin0 -> 107765 bytes
-rw-r--r--public/assets/share-nb.svg1
-rw-r--r--public/assets/share.svg40
-rw-r--r--public/css/body.css39
-rw-r--r--public/css/foot.css120
-rw-r--r--public/css/head.css59
-rw-r--r--public/css/main.css110
-rw-r--r--public/css/nav.css95
-rw-r--r--public/css/tinymce.css6
-rw-r--r--public/erreur404.html13
-rw-r--r--public/images-mini/DPpiscines.pngbin0 -> 15359 bytes
-rw-r--r--public/images-mini/kerne-elagage.pngbin0 -> 31766 bytes
-rw-r--r--public/images-mini/kerne.pngbin0 -> 13272 bytes
-rw-r--r--public/images-mini/mako.pngbin0 -> 3011 bytes
-rw-r--r--public/images/DPpiscines.pngbin0 -> 15359 bytes
-rw-r--r--public/images/kerne-elagage.pngbin0 -> 31766 bytes
-rw-r--r--public/images/kerne.pngbin0 -> 13272 bytes
-rw-r--r--public/images/mako.pngbin0 -> 3011 bytes
-rw-r--r--public/index.php78
-rw-r--r--public/js/galery.js4
-rw-r--r--public/js/main.js30
-rw-r--r--public/js/tinymce.js164
45 files changed, 1129 insertions, 0 deletions
diff --git a/public/assets/arrow-down-nb.svg b/public/assets/arrow-down-nb.svg
new file mode 100644
index 0000000..84ad2f3
--- /dev/null
+++ b/public/assets/arrow-down-nb.svg
@@ -0,0 +1,36 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="arrow-down-nb.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="14.75"
25 inkscape:cx="12"
26 inkscape:cy="12.033898"
27 inkscape:window-width="1261"
28 inkscape:window-height="1032"
29 inkscape:window-x="655"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M13.0001 16.1716L18.3641 10.8076L19.7783 12.2218L12.0001 20L4.22192 12.2218L5.63614 10.8076L11.0001 16.1716V4H13.0001V16.1716Z"
35 id="path1" />
36</svg>
diff --git a/public/assets/arrow-down.svg b/public/assets/arrow-down.svg
new file mode 100644
index 0000000..bd7d579
--- /dev/null
+++ b/public/assets/arrow-down.svg
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="arrow-down.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="14.75"
25 inkscape:cx="12"
26 inkscape:cy="12.033898"
27 inkscape:window-width="1261"
28 inkscape:window-height="1032"
29 inkscape:window-x="655"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M13.0001 16.1716L18.3641 10.8076L19.7783 12.2218L12.0001 20L4.22192 12.2218L5.63614 10.8076L11.0001 16.1716V4H13.0001V16.1716Z"
35 id="path1" />
36 <path
37 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.256239"
38 d="M 8.1361932,16.102295 4.2726833,12.238339 4.9491052,11.559369 5.6255269,10.8804 8.2707084,13.524946 c 1.4548498,1.4545 2.6679196,2.644546 2.6957116,2.644546 0.02779,0 0.05053,-2.730509 0.05053,-6.067797 V 4.0338983 H 12 12.983051 v 6.0677967 c 0,3.337288 0.02274,6.067797 0.05053,6.067797 0.02779,0 1.240862,-1.190046 2.695712,-2.644546 l 2.645181,-2.644546 0.676496,0.679044 0.676496,0.679044 -3.863881,3.863881 -3.863881,3.863882 z"
39 id="path2" />
40</svg>
diff --git a/public/assets/arrow-up-nb.svg b/public/assets/arrow-up-nb.svg
new file mode 100644
index 0000000..f845bf1
--- /dev/null
+++ b/public/assets/arrow-up-nb.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M13.0001 7.82843V20H11.0001V7.82843L5.63614 13.1924L4.22192 11.7782L12.0001 4L19.7783 11.7782L18.3641 13.1924L13.0001 7.82843Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/arrow-up.svg b/public/assets/arrow-up.svg
new file mode 100644
index 0000000..c88794d
--- /dev/null
+++ b/public/assets/arrow-up.svg
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="arrow-up.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="7.7781746"
25 inkscape:cx="19.734707"
26 inkscape:cy="19.220448"
27 inkscape:window-width="956"
28 inkscape:window-height="1032"
29 inkscape:window-x="960"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M13.0001 7.82843V20H11.0001V7.82843L5.63614 13.1924L4.22192 11.7782L12.0001 4L19.7783 11.7782L18.3641 13.1924L13.0001 7.82843Z"
35 id="path1" />
36 <path
37 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.485914"
38 d="M 11.056579,13.854013 V 7.7161883 L 8.3569078,10.413563 5.6572369,13.110938 4.9829803,12.436682 4.3087238,11.762425 8.1323616,7.9387874 11.955999,4.1151496 l 3.85685,3.8552422 3.856848,3.8552422 -0.642652,0.642652 -0.642652,0.642652 -2.69967,-2.697375 -2.699671,-2.6973747 v 6.1378247 6.137824 h -0.964237 -0.964236 z"
39 id="path2" />
40</svg>
diff --git a/public/assets/book-open-nb.svg b/public/assets/book-open-nb.svg
new file mode 100644
index 0000000..462bb9d
--- /dev/null
+++ b/public/assets/book-open-nb.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M13 21V23H11V21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3H9C10.1947 3 11.2671 3.52375 12 4.35418C12.7329 3.52375 13.8053 3 15 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H13ZM20 19V5H15C13.8954 5 13 5.89543 13 7V19H20ZM11 19V7C11 5.89543 10.1046 5 9 5H4V19H11Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/book-open.svg b/public/assets/book-open.svg
new file mode 100644
index 0000000..383bc6d
--- /dev/null
+++ b/public/assets/book-open.svg
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="book-open.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="16.333333"
25 inkscape:cx="13.714286"
26 inkscape:cy="10.010204"
27 inkscape:window-width="1367"
28 inkscape:window-height="1032"
29 inkscape:window-x="549"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M13 21V23H11V21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3H9C10.1947 3 11.2671 3.52375 12 4.35418C12.7329 3.52375 13.8053 3 15 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H13ZM20 19V5H15C13.8954 5 13 5.89543 13 7V19H20ZM11 19V7C11 5.89543 10.1046 5 9 5H4V19H11Z"
35 id="path1" />
36 <path
37 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.462799"
38 d="m 11.020408,21.985643 v -0.97354 L 6.8668354,20.975439 2.7132626,20.938776 2.3974476,20.641921 2.0816327,20.345066 V 12 3.6549341 l 0.3162118,-0.2968548 0.3162119,-0.2968548 3.5103187,0.00234 c 3.2760872,0.00218 3.5522704,0.01942 4.1390279,0.2583701 0.34579,0.1408189 0.852538,0.4359086 1.126107,0.655755 l 0.497399,0.3997205 0.605683,-0.4446121 c 1.1434,-0.8393329 1.270609,-0.8605967 5.183033,-0.8663802 l 3.510319,-0.00519 0.316211,0.2968548 0.316212,0.2968548 V 12 20.345066 l -0.315815,0.296855 -0.315814,0.296855 -4.153574,0.03666 -4.153572,0.03666 v 0.97354 0.973541 H 12 11.020408 Z m 0,-9.294065 V 6.3423387 L 10.744898,5.9375303 C 10.12681,5.0293713 10.107047,5.0245329 6.8484856,4.9836104 L 3.9183674,4.9468125 v 7.0470025 7.047001 h 3.5510204 3.5510202 z m 9.061225,-0.697763 V 4.9468125 l -2.930119,0.036798 c -3.258561,0.040922 -3.278324,0.045761 -3.896412,0.9539199 l -0.27551,0.4048084 v 6.3492392 6.349238 h 3.55102 3.551021 z"
39 id="path2" />
40</svg>
diff --git a/public/assets/calendar-nb.svg b/public/assets/calendar-nb.svg
new file mode 100644
index 0000000..fbf11df
--- /dev/null
+++ b/public/assets/calendar-nb.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M9 1V3H15V1H17V3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3H7V1H9ZM20 11H4V19H20V11ZM7 5H4V9H20V5H17V7H15V5H9V7H7V5Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/calendar.svg b/public/assets/calendar.svg
new file mode 100644
index 0000000..d8a0862
--- /dev/null
+++ b/public/assets/calendar.svg
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="calendar.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="16.333333"
25 inkscape:cx="10.867347"
26 inkscape:cy="7.0714286"
27 inkscape:window-width="1378"
28 inkscape:window-height="1032"
29 inkscape:window-x="538"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M9 1V3H15V1H17V3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3H7V1H9ZM20 11H4V19H20V11ZM7 5H4V9H20V5H17V7H15V5H9V7H7V5Z"
35 id="path1" />
36 <path
37 style="fill:#dd3333;stroke-width:0.2314;fill-opacity:1"
38 d="M 2.6632967,20.900914 C 2.5791303,20.867183 2.4456452,20.779249 2.3666632,20.705506 2.0328996,20.393883 2.0510204,20.894721 2.0510204,11.981482 V 3.7221898 L 2.1887755,3.5197856 C 2.2645408,3.4084632 2.4042737,3.2597461 2.4992931,3.1893029 2.6658093,3.0658553 2.7504798,3.0605903 4.8411299,3.0436855 L 7.0102041,3.0261465 V 2.0181753 1.0102041 h 0.9795918 0.9795919 v 1.0102041 1.010204 H 12 15.030612 V 2.0204082 1.0102041 h 0.979592 0.979592 v 1.0079712 1.0079712 l 2.169074,0.017539 c 2.09065,0.016905 2.175321,0.02217 2.341837,0.1456174 0.09502,0.070443 0.234752,0.2191603 0.310518,0.3304827 L 21.94898,3.7221898 V 12 20.27781 l -0.137755,0.202405 c -0.07577,0.111322 -0.215538,0.260039 -0.310605,0.330482 l -0.17285,0.128079 -9.255722,0.01173 c -6.0661846,0.0077 -9.3084558,-0.0094 -9.4087513,-0.0496 z M 20.05102,15 V 10.989796 H 12 3.9489796 V 15 19.010204 H 12 20.05102 Z m 0,-7.9897959 V 4.9897959 H 18.520408 16.989796 V 5.9693878 6.9489796 H 16.010204 15.030612 V 5.9693878 4.9897959 H 12 8.9693878 V 5.9693878 6.9489796 H 7.9897959 7.0102041 V 5.9693878 4.9897959 H 5.4795918 3.9489796 V 7.0102041 9.0306123 H 12 20.05102 Z"
39 id="path2" />
40</svg>
diff --git a/public/assets/delete-bin-nb.svg b/public/assets/delete-bin-nb.svg
new file mode 100644
index 0000000..a71c4d8
--- /dev/null
+++ b/public/assets/delete-bin-nb.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M17 6H22V8H20V21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V8H2V6H7V3C7 2.44772 7.44772 2 8 2H16C16.5523 2 17 2.44772 17 3V6ZM18 8H6V20H18V8ZM9 11H11V17H9V11ZM13 11H15V17H13V11ZM9 4V6H15V4H9Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/delete-bin.svg b/public/assets/delete-bin.svg
new file mode 100644
index 0000000..d534c53
--- /dev/null
+++ b/public/assets/delete-bin.svg
@@ -0,0 +1,48 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="delete-bin.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="5.7747054"
25 inkscape:cx="8.0523589"
26 inkscape:cy="13.940105"
27 inkscape:window-width="956"
28 inkscape:window-height="1032"
29 inkscape:window-x="960"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M17 6H22V8H20V21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V8H2V6H7V3C7 2.44772 7.44772 2 8 2H16C16.5523 2 17 2.44772 17 3V6ZM18 8H6V20H18V8ZM9 11H11V17H9V11ZM13 11H15V17H13V11ZM9 4V6H15V4H9Z"
35 id="path1" />
36 <path
37 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.654497"
38 d="M 4.428179,21.633757 C 4.1901151,21.395692 4.1560562,20.517904 4.1560562,14.620412 V 7.8791899 H 3.1170421 2.0780281 V 7.0133448 6.1474998 H 4.5889787 7.0999293 V 4.4910099 c 0,-0.9110696 0.080668,-1.8072192 0.1792618,-1.9914437 0.1701493,-0.317927 0.4073212,-0.3349536 4.6657439,-0.3349536 5.369132,0 5.025628,-0.1624223 5.025628,2.3763127 v 1.6065745 h 2.51095 2.510951 v 0.865845 0.8658451 H 20.95345 19.914436 v 6.7267521 c 0,6.296846 -0.02024,6.745069 -0.316681,7.013345 -0.28412,0.257124 -1.066299,0.286592 -7.607067,0.286592 -6.396732,0 -7.3237431,-0.03336 -7.562509,-0.272122 z M 18.009577,13.940105 V 7.8791899 H 11.948662 5.8877463 v 6.0609151 6.060915 h 6.0609157 6.060915 z M 15.065704,5.0219012 V 3.8963027 H 11.948662 8.8316194 v 1.0101525 c 0,0.555584 0.051951,1.0621033 0.1154461,1.1255985 0.063495,0.063495 1.4661645,0.1154461 3.1170425,0.1154461 h 3.001596 z"
39 id="path2" />
40 <path
41 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.654497"
42 d="m 9.0047884,13.940105 v -2.943873 h 0.9524295 0.9524291 v 2.943873 2.943873 H 9.9572179 9.0047884 Z"
43 id="path3" />
44 <path
45 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.654497"
46 d="m 13.160845,13.940105 v -2.943873 h 0.865845 0.865845 v 2.943873 2.943873 H 14.02669 13.160845 Z"
47 id="path4" />
48</svg>
diff --git a/public/assets/edit-nb.svg b/public/assets/edit-nb.svg
new file mode 100644
index 0000000..f57a63e
--- /dev/null
+++ b/public/assets/edit-nb.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M6.41421 15.89L16.5563 5.74785L15.1421 4.33363L5 14.4758V15.89H6.41421ZM7.24264 17.89H3V13.6473L14.435 2.21231C14.8256 1.82179 15.4587 1.82179 15.8492 2.21231L18.6777 5.04074C19.0682 5.43126 19.0682 6.06443 18.6777 6.45495L7.24264 17.89ZM3 19.89H21V21.89H3V19.89Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/edit.svg b/public/assets/edit.svg
new file mode 100644
index 0000000..2c1fd10
--- /dev/null
+++ b/public/assets/edit.svg
@@ -0,0 +1,44 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="edit.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="8.1666667"
25 inkscape:cx="18.979592"
26 inkscape:cy="21.734694"
27 inkscape:window-width="1347"
28 inkscape:window-height="1032"
29 inkscape:window-x="569"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M6.41421 15.89L16.5563 5.74785L15.1421 4.33363L5 14.4758V15.89H6.41421ZM7.24264 17.89H3V13.6473L14.435 2.21231C14.8256 1.82179 15.4587 1.82179 15.8492 2.21231L18.6777 5.04074C19.0682 5.43126 19.0682 6.06443 18.6777 6.45495L7.24264 17.89ZM3 19.89H21V21.89H3V19.89Z"
35 id="path1" />
36 <path
37 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.462799"
38 d="M 3.0612245,20.877551 V 19.897959 H 12 20.938776 v 0.979592 0.979592 H 12 3.0612245 Z"
39 id="path2" />
40 <path
41 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.462799"
42 d="M 3.0612245,15.764827 V 13.713329 L 8.9086367,7.8668687 c 5.4509273,-5.45004 5.8760063,-5.8464605 6.2691283,-5.8464605 0.378835,0 0.587344,0.1671659 2.050548,1.6439672 1.433032,1.4463495 1.62883,1.6928413 1.62883,2.050547 0,0.3731507 -0.480696,0.8873539 -5.846461,6.2539916 l -5.84646,5.847413 H 5.1127232 3.0612245 Z M 11.538908,10.869261 16.650326,5.7589307 15.888432,4.9902051 15.12654,4.2214796 10.01225,9.3346829 4.8979592,14.447886 v 0.765854 0.765852 h 0.7647659 0.7647658 z"
43 id="path3" />
44</svg>
diff --git a/public/assets/facebook-nb.svg b/public/assets/facebook-nb.svg
new file mode 100644
index 0000000..543537c
--- /dev/null
+++ b/public/assets/facebook-nb.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12.001 2C6.47813 2 2.00098 6.47715 2.00098 12C2.00098 16.9913 5.65783 21.1283 10.4385 21.8785V14.8906H7.89941V12H10.4385V9.79688C10.4385 7.29063 11.9314 5.90625 14.2156 5.90625C15.3097 5.90625 16.4541 6.10156 16.4541 6.10156V8.5625H15.1931C13.9509 8.5625 13.5635 9.33334 13.5635 10.1242V12H16.3369L15.8936 14.8906H13.5635V21.8785C18.3441 21.1283 22.001 16.9913 22.001 12C22.001 6.47715 17.5238 2 12.001 2Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/facebook.svg b/public/assets/facebook.svg
new file mode 100644
index 0000000..d09d296
--- /dev/null
+++ b/public/assets/facebook.svg
@@ -0,0 +1,37 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="facebook.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="6.8333333"
25 inkscape:cx="12"
26 inkscape:cy="11.926829"
27 inkscape:window-width="1374"
28 inkscape:window-height="1032"
29 inkscape:window-x="542"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M12.001 2C6.47813 2 2.00098 6.47715 2.00098 12C2.00098 16.9913 5.65783 21.1283 10.4385 21.8785V14.8906H7.89941V12H10.4385V9.79688C10.4385 7.29063 11.9314 5.90625 14.2156 5.90625C15.3097 5.90625 16.4541 6.10156 16.4541 6.10156V8.5625H15.1931C13.9509 8.5625 13.5635 9.33334 13.5635 10.1242V12H16.3369L15.8936 14.8906H13.5635V21.8785C18.3441 21.1283 22.001 16.9913 22.001 12C22.001 6.47715 17.5238 2 12.001 2Z"
35 id="path1"
36 style="fill:#dd3333;fill-opacity:1;stroke:none;stroke-opacity:1" />
37</svg>
diff --git a/public/assets/favicon48x48.png b/public/assets/favicon48x48.png
new file mode 100644
index 0000000..9825db1
--- /dev/null
+++ b/public/assets/favicon48x48.png
Binary files differ
diff --git a/public/assets/fond-piscine.jpg b/public/assets/fond-piscine.jpg
new file mode 100644
index 0000000..239d95d
--- /dev/null
+++ b/public/assets/fond-piscine.jpg
Binary files differ
diff --git a/public/assets/home.svg b/public/assets/home.svg
new file mode 100644
index 0000000..d400c4a
--- /dev/null
+++ b/public/assets/home.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M19 21H5C4.44772 21 4 20.5523 4 20V11L1 11L11.3273 1.6115C11.7087 1.26475 12.2913 1.26475 12.6727 1.6115L23 11L20 11V20C20 20.5523 19.5523 21 19 21ZM6 19H18V9.15745L12 3.7029L6 9.15745V19Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/instagram-nb.svg b/public/assets/instagram-nb.svg
new file mode 100644
index 0000000..c51ee39
--- /dev/null
+++ b/public/assets/instagram-nb.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12.001 9C10.3436 9 9.00098 10.3431 9.00098 12C9.00098 13.6573 10.3441 15 12.001 15C13.6583 15 15.001 13.6569 15.001 12C15.001 10.3427 13.6579 9 12.001 9ZM12.001 7C14.7614 7 17.001 9.2371 17.001 12C17.001 14.7605 14.7639 17 12.001 17C9.24051 17 7.00098 14.7629 7.00098 12C7.00098 9.23953 9.23808 7 12.001 7ZM18.501 6.74915C18.501 7.43926 17.9402 7.99917 17.251 7.99917C16.5609 7.99917 16.001 7.4384 16.001 6.74915C16.001 6.0599 16.5617 5.5 17.251 5.5C17.9393 5.49913 18.501 6.0599 18.501 6.74915ZM12.001 4C9.5265 4 9.12318 4.00655 7.97227 4.0578C7.18815 4.09461 6.66253 4.20007 6.17416 4.38967C5.74016 4.55799 5.42709 4.75898 5.09352 5.09255C4.75867 5.4274 4.55804 5.73963 4.3904 6.17383C4.20036 6.66332 4.09493 7.18811 4.05878 7.97115C4.00703 9.0752 4.00098 9.46105 4.00098 12C4.00098 14.4745 4.00753 14.8778 4.05877 16.0286C4.0956 16.8124 4.2012 17.3388 4.39034 17.826C4.5591 18.2606 4.7605 18.5744 5.09246 18.9064C5.42863 19.2421 5.74179 19.4434 6.17187 19.6094C6.66619 19.8005 7.19148 19.9061 7.97212 19.9422C9.07618 19.9939 9.46203 20 12.001 20C14.4755 20 14.8788 19.9934 16.0296 19.9422C16.8117 19.9055 17.3385 19.7996 17.827 19.6106C18.2604 19.4423 18.5752 19.2402 18.9074 18.9085C19.2436 18.5718 19.4445 18.2594 19.6107 17.8283C19.8013 17.3358 19.9071 16.8098 19.9432 16.0289C19.9949 14.9248 20.001 14.5389 20.001 12C20.001 9.52552 19.9944 9.12221 19.9432 7.97137C19.9064 7.18906 19.8005 6.66149 19.6113 6.17318C19.4434 5.74038 19.2417 5.42635 18.9084 5.09255C18.573 4.75715 18.2616 4.55693 17.8271 4.38942C17.338 4.19954 16.8124 4.09396 16.0298 4.05781C14.9258 4.00605 14.5399 4 12.001 4ZM12.001 2C14.7176 2 15.0568 2.01 16.1235 2.06C17.1876 2.10917 17.9135 2.2775 18.551 2.525C19.2101 2.77917 19.7668 3.1225 20.3226 3.67833C20.8776 4.23417 21.221 4.7925 21.476 5.45C21.7226 6.08667 21.891 6.81333 21.941 7.8775C21.9885 8.94417 22.001 9.28333 22.001 12C22.001 14.7167 21.991 15.0558 21.941 16.1225C21.8918 17.1867 21.7226 17.9125 21.476 18.55C21.2218 19.2092 20.8776 19.7658 20.3226 20.3217C19.7668 20.8767 19.2076 21.22 18.551 21.475C17.9135 21.7217 17.1876 21.89 16.1235 21.94C15.0568 21.9875 14.7176 22 12.001 22C9.28431 22 8.94514 21.99 7.87848 21.94C6.81431 21.8908 6.08931 21.7217 5.45098 21.475C4.79264 21.2208 4.23514 20.8767 3.67931 20.3217C3.12348 19.7658 2.78098 19.2067 2.52598 18.55C2.27848 17.9125 2.11098 17.1867 2.06098 16.1225C2.01348 15.0558 2.00098 14.7167 2.00098 12C2.00098 9.28333 2.01098 8.94417 2.06098 7.8775C2.11014 6.8125 2.27848 6.0875 2.52598 5.45C2.78014 4.79167 3.12348 4.23417 3.67931 3.67833C4.23514 3.1225 4.79348 2.78 5.45098 2.525C6.08848 2.2775 6.81348 2.11 7.87848 2.06C8.94514 2.0125 9.28431 2 12.001 2Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/instagram.svg b/public/assets/instagram.svg
new file mode 100644
index 0000000..feb8ae8
--- /dev/null
+++ b/public/assets/instagram.svg
@@ -0,0 +1,37 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="instagram.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="20.166667"
25 inkscape:cx="12"
26 inkscape:cy="12.024793"
27 inkscape:window-width="1391"
28 inkscape:window-height="1032"
29 inkscape:window-x="525"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M12.001 9C10.3436 9 9.00098 10.3431 9.00098 12C9.00098 13.6573 10.3441 15 12.001 15C13.6583 15 15.001 13.6569 15.001 12C15.001 10.3427 13.6579 9 12.001 9ZM12.001 7C14.7614 7 17.001 9.2371 17.001 12C17.001 14.7605 14.7639 17 12.001 17C9.24051 17 7.00098 14.7629 7.00098 12C7.00098 9.23953 9.23808 7 12.001 7ZM18.501 6.74915C18.501 7.43926 17.9402 7.99917 17.251 7.99917C16.5609 7.99917 16.001 7.4384 16.001 6.74915C16.001 6.0599 16.5617 5.5 17.251 5.5C17.9393 5.49913 18.501 6.0599 18.501 6.74915ZM12.001 4C9.5265 4 9.12318 4.00655 7.97227 4.0578C7.18815 4.09461 6.66253 4.20007 6.17416 4.38967C5.74016 4.55799 5.42709 4.75898 5.09352 5.09255C4.75867 5.4274 4.55804 5.73963 4.3904 6.17383C4.20036 6.66332 4.09493 7.18811 4.05878 7.97115C4.00703 9.0752 4.00098 9.46105 4.00098 12C4.00098 14.4745 4.00753 14.8778 4.05877 16.0286C4.0956 16.8124 4.2012 17.3388 4.39034 17.826C4.5591 18.2606 4.7605 18.5744 5.09246 18.9064C5.42863 19.2421 5.74179 19.4434 6.17187 19.6094C6.66619 19.8005 7.19148 19.9061 7.97212 19.9422C9.07618 19.9939 9.46203 20 12.001 20C14.4755 20 14.8788 19.9934 16.0296 19.9422C16.8117 19.9055 17.3385 19.7996 17.827 19.6106C18.2604 19.4423 18.5752 19.2402 18.9074 18.9085C19.2436 18.5718 19.4445 18.2594 19.6107 17.8283C19.8013 17.3358 19.9071 16.8098 19.9432 16.0289C19.9949 14.9248 20.001 14.5389 20.001 12C20.001 9.52552 19.9944 9.12221 19.9432 7.97137C19.9064 7.18906 19.8005 6.66149 19.6113 6.17318C19.4434 5.74038 19.2417 5.42635 18.9084 5.09255C18.573 4.75715 18.2616 4.55693 17.8271 4.38942C17.338 4.19954 16.8124 4.09396 16.0298 4.05781C14.9258 4.00605 14.5399 4 12.001 4ZM12.001 2C14.7176 2 15.0568 2.01 16.1235 2.06C17.1876 2.10917 17.9135 2.2775 18.551 2.525C19.2101 2.77917 19.7668 3.1225 20.3226 3.67833C20.8776 4.23417 21.221 4.7925 21.476 5.45C21.7226 6.08667 21.891 6.81333 21.941 7.8775C21.9885 8.94417 22.001 9.28333 22.001 12C22.001 14.7167 21.991 15.0558 21.941 16.1225C21.8918 17.1867 21.7226 17.9125 21.476 18.55C21.2218 19.2092 20.8776 19.7658 20.3226 20.3217C19.7668 20.8767 19.2076 21.22 18.551 21.475C17.9135 21.7217 17.1876 21.89 16.1235 21.94C15.0568 21.9875 14.7176 22 12.001 22C9.28431 22 8.94514 21.99 7.87848 21.94C6.81431 21.8908 6.08931 21.7217 5.45098 21.475C4.79264 21.2208 4.23514 20.8767 3.67931 20.3217C3.12348 19.7658 2.78098 19.2067 2.52598 18.55C2.27848 17.9125 2.11098 17.1867 2.06098 16.1225C2.01348 15.0558 2.00098 14.7167 2.00098 12C2.00098 9.28333 2.01098 8.94417 2.06098 7.8775C2.11014 6.8125 2.27848 6.0875 2.52598 5.45C2.78014 4.79167 3.12348 4.23417 3.67931 3.67833C4.23514 3.1225 4.79348 2.78 5.45098 2.525C6.08848 2.2775 6.81348 2.11 7.87848 2.06C8.94514 2.0125 9.28431 2 12.001 2Z"
35 id="path1"
36 style="fill:#dd3333;fill-opacity:1" />
37</svg>
diff --git a/public/assets/logo-120x75.jpg b/public/assets/logo-120x75.jpg
new file mode 100644
index 0000000..b58a7a6
--- /dev/null
+++ b/public/assets/logo-120x75.jpg
Binary files differ
diff --git a/public/assets/logo-150x94.jpg b/public/assets/logo-150x94.jpg
new file mode 100644
index 0000000..67ec6cc
--- /dev/null
+++ b/public/assets/logo-150x94.jpg
Binary files differ
diff --git a/public/assets/logo-fond-bleu.png b/public/assets/logo-fond-bleu.png
new file mode 100644
index 0000000..f51ac9c
--- /dev/null
+++ b/public/assets/logo-fond-bleu.png
Binary files differ
diff --git a/public/assets/logo2.jpg b/public/assets/logo2.jpg
new file mode 100644
index 0000000..39c03bd
--- /dev/null
+++ b/public/assets/logo2.jpg
Binary files differ
diff --git a/public/assets/perdu.jpg b/public/assets/perdu.jpg
new file mode 100644
index 0000000..043a97a
--- /dev/null
+++ b/public/assets/perdu.jpg
Binary files differ
diff --git a/public/assets/share-nb.svg b/public/assets/share-nb.svg
new file mode 100644
index 0000000..f58f129
--- /dev/null
+++ b/public/assets/share-nb.svg
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M13 14H11C7.54202 14 4.53953 15.9502 3.03239 18.8107C3.01093 18.5433 3 18.2729 3 18C3 12.4772 7.47715 8 13 8V2.5L23.5 11L13 19.5V14ZM11 12H15V15.3078L20.3214 11L15 6.69224V10H13C10.5795 10 8.41011 11.0749 6.94312 12.7735C8.20873 12.2714 9.58041 12 11 12Z"></path></svg> \ No newline at end of file
diff --git a/public/assets/share.svg b/public/assets/share.svg
new file mode 100644
index 0000000..e053051
--- /dev/null
+++ b/public/assets/share.svg
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 viewBox="0 0 24 24"
4 fill="currentColor"
5 version="1.1"
6 id="svg1"
7 sodipodi:docname="share-forward.svg"
8 inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
9 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns="http://www.w3.org/2000/svg"
12 xmlns:svg="http://www.w3.org/2000/svg">
13 <defs
14 id="defs1" />
15 <sodipodi:namedview
16 id="namedview1"
17 pagecolor="#ffffff"
18 bordercolor="#000000"
19 borderopacity="0.25"
20 inkscape:showpageshadow="2"
21 inkscape:pageopacity="0.0"
22 inkscape:pagecheckerboard="0"
23 inkscape:deskcolor="#d1d1d1"
24 inkscape:zoom="5.3333333"
25 inkscape:cx="18.46875"
26 inkscape:cy="16.03125"
27 inkscape:window-width="956"
28 inkscape:window-height="1032"
29 inkscape:window-x="960"
30 inkscape:window-y="0"
31 inkscape:window-maximized="1"
32 inkscape:current-layer="svg1" />
33 <path
34 d="M13 14H11C7.54202 14 4.53953 15.9502 3.03239 18.8107C3.01093 18.5433 3 18.2729 3 18C3 12.4772 7.47715 8 13 8V2.5L23.5 11L13 19.5V14ZM11 12H15V15.3078L20.3214 11L15 6.69224V10H13C10.5795 10 8.41011 11.0749 6.94312 12.7735C8.20873 12.2714 9.58041 12 11 12Z"
35 id="path1" />
36 <path
37 style="fill:#dd3333;stroke:#dd3333;stroke-width:0.708661"
38 d="m 13.125,16.62281 v -2.65406 l -1.734375,0.0046 c -3.1289994,0.0083 -4.7715187,0.662267 -6.84375,2.72496 L 3.1875,18.051411 3.1920836,17.275706 C 3.2079642,14.588168 5.033385,11.457683 7.5641723,9.7778419 8.8054939,8.9538996 11.118995,8.15625 12.267434,8.15625 H 13.125 V 5.5156251 c 0,-1.4523438 0.07229,-2.6125001 0.160633,-2.5781251 0.344223,0.1339326 9.936632,7.944961 9.904618,8.065257 -0.0187,0.07027 -2.143376,1.831888 -4.721501,3.914713 -2.578125,2.082826 -4.835156,3.915756 -5.015625,4.073178 C 13.142599,19.261519 13.125,19.134524 13.125,16.62281 Z m 7.253039,-5.611275 c 0.01886,-0.07509 -1.162391,-1.0943592 -2.625,-2.2650333 L 15.09375,6.6180036 15.039575,8.2308767 14.9854,9.84375 13.914575,9.844836 c -1.658785,0.00168 -3.170519,0.311395 -4.4246483,0.906488 -1.150183,0.545771 -2.7354857,1.775452 -2.5436777,1.97307 0.056375,0.05808 0.520437,-0.02888 1.03125,-0.193243 0.6245522,-0.200964 1.9267104,-0.328748 3.975626,-0.390138 L 15,12.049721 v 1.702541 1.70254 l 2.671875,-2.153366 c 1.469531,-1.184352 2.687305,-2.214808 2.706164,-2.289901 z"
39 id="path2" />
40</svg>
diff --git a/public/css/body.css b/public/css/body.css
new file mode 100644
index 0000000..87f71f2
--- /dev/null
+++ b/public/css/body.css
@@ -0,0 +1,39 @@
1body
2{
3 margin: auto;
4 max-width: 1200px;
5 /*width: 90%;*/
6 font-family: sans;
7 background-color: #0cceec;
8}
9
10#bloc_page
11{}
12
13
14.infobulle
15{
16 /*text-decoration: none;*/
17 /* évite que l'infobulle ne se retrouve dans un coin de l'écran */
18 /*position:relative;*/
19 /* block -> hauteur fixe pour vertical-align dans l'image */
20 /*display: inline-block;*/
21
22}
23/*.infobulle button
24{
25
26 display: none;
27 position: absolute;
28 bottom: 35px;
29 left: 10px;
30}
31.infobulle:hover button
32{
33 display: inline;
34
35}
36.infobulle img
37{
38 vertical-align: middle;
39}*/ \ No newline at end of file
diff --git a/public/css/foot.css b/public/css/foot.css
new file mode 100644
index 0000000..ef3291d
--- /dev/null
+++ b/public/css/foot.css
@@ -0,0 +1,120 @@
1/*-- pied de page --*/
2footer
3{
4 /*background-color: #279dc177;*/
5 /*background-color: #13aff077;*/
6 background-color: #B7E9FE;
7 /*width: 1200px;*/
8 margin: auto;
9
10}
11footer > div
12{
13 margin: auto;
14 max-width: 1200px;
15 display: flex;
16 justify-content: space-around;
17}
18.contact a
19{
20 color: unset;
21 border-bottom: 3px #13aff000 solid; /* bordure invisible */
22}
23.contact a:hover
24{
25 /*background-color: #fadb11;*/
26 text-decoration: none;
27 padding: 0 2px;
28 /*background-color: #13aff0ff;
29 border-bottom: 3px #fadb11 solid;*/
30 background-color: #ffff00;
31 /*border-bottom: 2px #00a8f3 solid;*/
32 border-bottom: 2px #ff1d04 solid;
33}
34
35
36/*-- fil d'ariane --*/
37.breadcrumb
38{
39 max-width: 45%;
40 /*margin-right: 10px;*/
41 margin: 16px 0; /* = p */
42 list-style: none; /* retirer les puces */
43 font-size: small;
44 text-align: right;
45 font-weight: bold;
46}
47.breadcrumb img
48{
49 width: 12px;
50 vertical-align: middle;
51}
52.breadcrumb a img, .breadcrumb a span
53{
54 border-bottom: 2px #13aff000 solid;
55}
56.breadcrumb a img:hover, .breadcrumb a span:hover
57{
58 /*background-color: #13aff0;
59 border-bottom: 3px #fadb11 solid;*/
60 background-color: #ffff00;
61 /*border-bottom: 2px #00a8f3 solid;*/
62 border-bottom: 2px #ff1d04 solid;
63}
64/*.breadcrumb *:not(:last-child)::after
65{
66 content: "→";
67 display: block;
68 margin: 0 3px;
69}*/
70.breadcrumb a
71{
72 color: unset; /* ne plus hériter */
73 text-decoration: none;
74}
75
76/* zone admin */
77.logged_out
78{
79 /*display: none;*/
80 justify-content: start;
81}
82.logged_out a
83{
84 color: black;
85 text-decoration: none;
86}
87.empty_admin_zone
88{
89 height: 32px;
90}
91.logged_in
92{
93 height: 32px;
94 width: 1200px;
95 margin: auto;
96 background-color: #ffff00;
97 position: fixed;
98 bottom: 0px;
99}
100.logged_in > p
101{
102 margin: 5px 0;
103 display: flex;
104 justify-content: space-around;
105}
106.logged_in button
107{
108 margin-left: 5px;
109 color: #ff1d04;
110 font-size: medium;
111 border: lightgrey 2px outset;
112 border-radius: 4px;
113 background-color: white;
114}
115.logged_in button:hover
116{
117 cursor: pointer; /* curseur qui touche du doigt */
118 background-color: #ffff00;
119 border-radius: 4px;
120} \ No newline at end of file
diff --git a/public/css/head.css b/public/css/head.css
new file mode 100644
index 0000000..b8d4c93
--- /dev/null
+++ b/public/css/head.css
@@ -0,0 +1,59 @@
1header
2{
3 text-align: center;
4 /*padding-top: 5px;*/
5 /*padding-bottom: 10px;*/
6 background-image: url('../assets/fond-piscine.jpg');
7 background-size: cover; /* largeur du bloc_page */
8}
9header > div
10{
11 /*margin: auto;*/
12 /*max-width: 1200px;*/
13 display: flex;
14 /*align-items: center;*/ /* conflit possible avec .social align-self */
15 justify-content: space-around;
16}
17.header-content
18{
19 padding: 20px 0;
20}
21.site_title
22{
23 background-color: #ffffff7f;
24 border-radius: 10px;
25}
26header h1
27{
28 font-size: x-large;
29 margin: 10px;
30}
31header h2
32{
33 font-size: medium; /* défaut = x-large */
34 margin: 10px;
35}
36header img
37{
38 vertical-align: bottom; /* supprime espace sous l'image */
39}
40header a
41{
42 color: unset; /* ne plus hériter */
43 text-decoration: none;
44}
45.social
46{
47 align-self: end;
48}
49.social img
50{
51 width: 25px;
52 background-color: #ffffffb3;
53 border-radius: 10px;
54}
55
56.social img:hover
57{
58 background-color: #ffff00;
59}
diff --git a/public/css/main.css b/public/css/main.css
new file mode 100644
index 0000000..b38f8d9
--- /dev/null
+++ b/public/css/main.css
@@ -0,0 +1,110 @@
1main
2{
3 margin: auto;
4 /*max-width: 1200px;*/
5 background-color: #E3F3FF;
6 padding: 15px 0;
7}
8section > h3
9{
10 padding: 15px;
11 margin: 0;
12 text-align: center;
13}
14section > p /* boutons spéciaux mode admin */
15{
16 /*margin-left: 15px;*/
17}
18.grid_columns
19{
20 display: grid;
21 grid-template-columns: repeat(3, 1fr);
22}
23.galery_photos
24{
25 display: flex;
26 flex-wrap: wrap;
27 justify-content: space-evenly;
28}
29.galery_photos .html_from_editor img
30{
31 max-width: 400px;
32 max-height: 250px;
33}
34article
35{
36 /*display: flex;*/
37 background-color: white;
38 margin: 15px 15px 0 15px;
39 padding: 0 15px;
40 /*min-height: 150px;*/
41}
42article .logo2
43{
44 vertical-align: middle;
45 max-width: 200px;
46 max-height: 200px;
47 margin-right: 15px;
48}
49.new_content, .article_content
50{
51 width: 100%;
52}
53.new_content_text
54{
55 max-height: 250px;
56 overflow: hidden;
57}
58
59article .action_icon
60{
61 width: 24px;
62 vertical-align: middle;
63 border: white 2px solid; /* invisible */
64}
65article .action_icon:hover
66{
67 background-color: #ffff00;
68 border-radius: 4px;
69 border: lightgrey 2px outset;
70}
71.article_title_zone
72{
73 display: flex;
74 justify-content: space-between;
75}
76.under_an_article
77{
78 display: flex;
79 justify-content: space-between;
80 font-size: small;
81}
82.under_an_article p
83{
84 margin: 5px;
85}
86.under_an_article img
87{
88 width: 24px;
89 vertical-align: middle;
90 margin-right: 5px;
91}
92.article_admin_zone
93{
94 display: flex;
95 justify-content: end;
96}
97main button
98{
99 color: #ff1d04;
100 font-size: medium;
101 border-radius: 4px;
102 background-color: white;
103 border: lightgrey 2px outset; /* rend identiques les boutons firefox et chromium */
104}
105main button:hover
106{
107 cursor: pointer; /* curseur qui pointe du doigt */
108 background-color: #ffff00;
109 border-radius: 4px;
110} \ No newline at end of file
diff --git a/public/css/nav.css b/public/css/nav.css
new file mode 100644
index 0000000..d51c58a
--- /dev/null
+++ b/public/css/nav.css
@@ -0,0 +1,95 @@
1/*-- menu principal --*/
2.empty_nav_zone
3{
4 height: 33px;
5}
6.nav_main
7{
8 position: fixed;
9 /*box-shadow: 3px 3px 5px #13aff0;*/
10 border: 2px solid #13aff0;
11 top: -2px;
12}
13.nav_main
14{
15 /*font-size: 90%;*/
16 /*margin-top: 10px;*/
17 /*margin-bottom: 10px;*/
18 text-wrap: nowrap;
19}
20.nav_main > ul
21{
22 display: flex;
23 flex-direction: row;
24 justify-content: center;
25 flex-wrap: wrap;
26}
27ul
28{
29 margin: 0;
30}
31.nav_main ul, .nav_main li
32{
33 list-style: none;
34 padding-left: 0;
35}
36.nav_main p
37{
38 padding: 7px;
39 margin: 0;
40 background-color: #ffffffe1; /* b3 = 179 = 0.7 (x 256) */
41}
42.nav_main p:hover
43{
44 background-color: white;
45}
46.current > p
47{
48 background-color: white;
49 font-weight: bold;
50}
51.drop-down > p::after
52{
53 content: ' ▼';
54 font-size: x-small;
55}
56
57.drop-down:hover > .sub-menu /* faire apparaître sub-menu */
58{
59 display: block;
60}
61.sub-menu
62{
63 display: none;
64 background-color: white;
65 border-top: 3px solid #13aff0;
66 box-shadow: 1px 1px 3px black;
67 font-size: 95%;
68}
69/*.sub-menu p:hover*/
70.nav_main p:hover
71{
72 background-color: #ffff00;
73}
74.drop-down .sub-menu .drop-down > p:after /* bricolage? */
75{
76 content: " ▶";
77 font-size: x-small;
78}
79
80/* 1er sous-menu, poitionnement pour ne pas aggrandir l'élément parent */
81nav > ul > li > ul
82{
83 position: absolute; /* retire du flux, positionnement par rapport à la fenêtre */
84}
85/* élément du menu survolé, le positionnement relatif en fait la référence du positionnement suivant */
86.drop-down .sub-menu .drop-down
87{
88 position: relative;
89}
90.drop-down .sub-menu .drop-down .sub-menu
91{
92 position: absolute; /* positionnement par rapport au précédent "position" en CSS */
93 left: 100%;
94 top: -3px; /* la bordure bleue fait 3px */
95}
diff --git a/public/css/tinymce.css b/public/css/tinymce.css
new file mode 100644
index 0000000..55639e0
--- /dev/null
+++ b/public/css/tinymce.css
@@ -0,0 +1,6 @@
1.tox-promotion{
2 display: none;
3}
4.hidden{
5 display: none;
6} \ No newline at end of file
diff --git a/public/erreur404.html b/public/erreur404.html
new file mode 100644
index 0000000..3dcd6ed
--- /dev/null
+++ b/public/erreur404.html
@@ -0,0 +1,13 @@
1<!DOCTYPE html>
2<html lang="fr">
3 <head>
4 <meta charset="utf-8">
5 <title>erreur 404</title>
6 </head>
7 <body>
8 <h1>404 - page non trouvée</h1>
9 <p>Le lien que vous avez utilisé ne mène nulle part.<br>
10 <a href="/">Revenez à la page d'accueil</a> et utilisez le menu, vous devriez trouvez votre route.</p>
11 <img style="max-width: 800px;" src="assets/perdu.jpg">
12 </body>
13</html> \ No newline at end of file
diff --git a/public/images-mini/DPpiscines.png b/public/images-mini/DPpiscines.png
new file mode 100644
index 0000000..3cb40ba
--- /dev/null
+++ b/public/images-mini/DPpiscines.png
Binary files differ
diff --git a/public/images-mini/kerne-elagage.png b/public/images-mini/kerne-elagage.png
new file mode 100644
index 0000000..5416517
--- /dev/null
+++ b/public/images-mini/kerne-elagage.png
Binary files differ
diff --git a/public/images-mini/kerne.png b/public/images-mini/kerne.png
new file mode 100644
index 0000000..eea9107
--- /dev/null
+++ b/public/images-mini/kerne.png
Binary files differ
diff --git a/public/images-mini/mako.png b/public/images-mini/mako.png
new file mode 100644
index 0000000..5ba6263
--- /dev/null
+++ b/public/images-mini/mako.png
Binary files differ
diff --git a/public/images/DPpiscines.png b/public/images/DPpiscines.png
new file mode 100644
index 0000000..3cb40ba
--- /dev/null
+++ b/public/images/DPpiscines.png
Binary files differ
diff --git a/public/images/kerne-elagage.png b/public/images/kerne-elagage.png
new file mode 100644
index 0000000..5416517
--- /dev/null
+++ b/public/images/kerne-elagage.png
Binary files differ
diff --git a/public/images/kerne.png b/public/images/kerne.png
new file mode 100644
index 0000000..eea9107
--- /dev/null
+++ b/public/images/kerne.png
Binary files differ
diff --git a/public/images/mako.png b/public/images/mako.png
new file mode 100644
index 0000000..5ba6263
--- /dev/null
+++ b/public/images/mako.png
Binary files differ
diff --git a/public/index.php b/public/index.php
new file mode 100644
index 0000000..37ebaf0
--- /dev/null
+++ b/public/index.php
@@ -0,0 +1,78 @@
1<?php
2// public/index/php
3
4/* installation de composer sur un hébergement mutualisé
51. télécharger le script d'installation:
6php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
72. installation: php composer-setup.php
83. supprimer l'installateur: php -r "unlink('composer-setup.php');"
94. utilisation: php composer.phar */
10
11declare(strict_types=1);
12
13// -- prétraitement --
14// une nouvelle classe? taper: composer dump-autoload -o
15require "../vendor/autoload.php";
16
17// configuration possible par l'utilisateur
18Config::load('../config/config.ini');
19
20// les messages d'erreur de déploiement qu'on aime
21require('../src/controller/installation.php');
22//installation(); // des mkdir et chmod, chiant en dev
23
24// $entityManager
25require '../src/model/doctrine-bootstrap.php'; // isDevMode est sur "true", DSN à adapter
26
27URL::setProtocol(Config::$protocol); // utile si port autre que 80 ou 443
28URL::setPort(Config::$port);
29URL::setHost(Config::$host);
30
31//require('controller/Session.php');
32ini_set('session.cookie_samesite', 'Strict');
33ini_set('session.cookie_httponly', 'On');
34ini_set('session.use_strict_mode', 'On');
35ini_set('session.cookie_secure', 'On');
36session_start();
37$_SESSION['admin'] = !isset($_SESSION['admin']) ? false : $_SESSION['admin']; // intialisation sur faux
38
39// login, mot de passe et captcha
40require '../src/controller/password.php';
41existUsers($entityManager);
42
43// -- navigation avec les GET --
44$current_page = 'accueil';
45if(!empty($_GET['page']))
46{
47 $current_page = htmlspecialchars($_GET['page']);
48}
49define('CURRENT_PAGE', $current_page);
50
51// -- traitement des POST (formulaires et AJAX) --
52require '../src/controller/post.php';
53
54// id des articles
55$id = '';
56if(!empty($_GET['id']))
57{
58 //$id = (int)$_GET['id']; // (int) = moyen basique d'éviter les injections
59 $id = Security::secureString($_GET['id']);
60}
61
62if(isset($_GET['action']) && $_GET['action'] === 'deconnexion')
63{
64 disconnect($entityManager);
65}
66elseif(isset($_GET['action']) && $_GET['action'] === 'modif_mdp')
67{
68 changePassword($entityManager);
69}
70
71// -- contrôleurs --
72$director = new Director($entityManager);
73$director->makeRootNode($id);
74$node = $director->getRootNode();
75
76// -- vues --
77$view_builder = new ViewBuilder($node);
78echo $view_builder->render(); // et voilà!
diff --git a/public/js/galery.js b/public/js/galery.js
new file mode 100644
index 0000000..0be63a4
--- /dev/null
+++ b/public/js/galery.js
@@ -0,0 +1,4 @@
1function enableGaleryScroller(){
2 // lancer photoswipe
3 // https://photoswipe.com/
4} \ No newline at end of file
diff --git a/public/js/main.js b/public/js/main.js
new file mode 100644
index 0000000..c86ec51
--- /dev/null
+++ b/public/js/main.js
@@ -0,0 +1,30 @@
1function newPassword(page, id = ''){
2 if(id != ''){
3 id = '&id=' + id;
4 }
5 alert('Le mot de passe a été modifié.');
6 window.setTimeout(function(){
7 location.href = "index.php?page=" + page + "&message=nouveau_mdp" + id;
8 }, 0);
9}
10
11function copyInClipBoard(link){
12 // une balise <input> avec des attributs
13 var element = document.createElement("input");
14 element.setAttribute("id", "copyMe");
15 element.setAttribute("value", link);
16
17 // placement dans la page (= le "document")
18 document.body.appendChild(element);
19 var cible = document.getElementById('copyMe');
20
21 // selection comme on le ferait à la souris
22 cible.select();
23 // copie (= Ctrl + C)
24 document.execCommand("copy");
25
26 // nettoyage
27 element.parentNode.removeChild(element);
28
29 alert('Cette adresse a été copiée dans le presse-papier:\n\n' + link);
30} \ No newline at end of file
diff --git a/public/js/tinymce.js b/public/js/tinymce.js
new file mode 100644
index 0000000..8aa9368
--- /dev/null
+++ b/public/js/tinymce.js
@@ -0,0 +1,164 @@
1let editors = {};
2
3function openEditor(articleId) {
4 // Récupérer et sauvegarder le contenu d'origine de l'article
5 const articleContent = document.getElementById(articleId).innerHTML;
6 document.getElementById(articleId).setAttribute('data-original-content', articleContent);
7
8 tinymce.init({
9 selector: `#${articleId}`,
10 language: 'fr_FR', // télécharger des paquets de langue ici: https://www.tiny.cloud/get-tiny/language-packages/
11 language_url: 'js/tinymce-langs/fr_FR.js', // ou installer tweeb/tinymce-i18n avec composer
12 license_key: 'gpl',
13 branding: false,
14 plugins: 'lists link autolink table image media autoresize help',
15 toolbar: 'undo redo newdocument print selectall styles bold italic underline strikethrough fontsizeinput forecolor backcolor fontfamily align numlist bullist outdent indent table link image media help',
16 menubar: false,
17 toolbar_mode: 'wrap',
18 statusbar: false,
19 setup: function (editor) {
20 editor.on('init', function () {
21 editors[articleId] = editor;
22
23 // Masquer le bouton "Modifier" et afficher les boutons "Annuler" et "Soumettre"
24 if(articleId != 'new')
25 {
26 document.querySelector(`#edit-${articleId}`).classList.add('hidden');
27 document.querySelector(`#delete-${articleId}`).classList.add('hidden');
28 document.querySelector(`#position_up-${articleId}`).classList.add('hidden');
29 document.querySelector(`#position_down-${articleId}`).classList.add('hidden');
30 }
31 else{
32 document.querySelector(`#new-${articleId}`).classList.add('hidden');
33 }
34 document.querySelector(`#cancel-${articleId}`).classList.remove('hidden');
35 document.querySelector(`#submit-${articleId}`).classList.remove('hidden');
36
37 });
38 },
39 // upload d'image
40 images_upload_handler: (blobInfo, progress) => new Promise((resolve, reject) => {
41 const formData = new FormData();
42 formData.append("file", blobInfo.blob());
43
44 fetch("index.php?action=upload_image", {
45 method: "POST",
46 body: formData
47 })
48 .then(response => response.json())
49 .then(data => {
50 if (data.location) {
51 resolve(data.location);
52 }
53 else {
54 reject("Erreur: Chemin d'image invalide");
55 }
56 })
57 .catch(error => {
58 reject("Erreur lors de l'upload");
59 });
60 }),
61 image_caption: true
62 });
63
64 // Remplacer le contenu de l'article par l'éditeur
65 document.getElementById(articleId).innerHTML = articleContent;
66}
67
68function deleteArticle(articleId, page = '') {
69 if (confirm('Voulez-vous vraiment supprimer cet article ?'))
70 {
71 // Envoyer une requête au serveur pour supprimer l'article
72 fetch('index.php?action=delete_article', {
73 method: 'POST',
74 headers: {
75 'Content-Type': 'application/json'
76 },
77 body: JSON.stringify({ id: articleId })
78 })
79 .then(response => response.json())
80 .then(data => {
81 if (data.success)
82 {
83 if(page == 'article'){
84 // redirection vers la page d'accueil
85 window.setTimeout(function(){
86 location.href = "index.php?page=accueil";
87 }, 0);
88 }
89 else{
90 // Supprimer l'article du DOM
91 const articleElement = document.getElementById(articleId);
92 articleElement.parentElement.parentElement.remove(); // <article> est deux niveau au dessus
93 }
94 }
95 else {
96 alert('Erreur lors de la suppression de l\'article.');
97 }
98 })
99 .catch(error => {
100 console.error('Erreur:', error);
101 });
102 }
103}
104
105function closeEditor(articleId, display_old = true)
106{
107 // Fermer l'éditeur
108 tinymce.remove(`#${articleId}`);
109 delete editors[articleId];
110
111 // Restaurer le contenu d'origine de l'article
112 if(display_old){
113 const originalContent = document.getElementById(articleId).getAttribute('data-original-content');
114 document.getElementById(articleId).innerHTML = originalContent;
115 }
116
117 // Afficher le bouton "Modifier" et masquer les boutons "Annuler" et "Soumettre"
118 if(articleId != 'new'){
119 document.querySelector(`#edit-${articleId}`).classList.remove('hidden');
120 document.querySelector(`#delete-${articleId}`).classList.remove('hidden');
121 document.querySelector(`#position_up-${articleId}`).classList.remove('hidden');
122 document.querySelector(`#position_down-${articleId}`).classList.remove('hidden');
123 }
124 else{
125 document.querySelector(`#new-${articleId}`).classList.remove('hidden');
126 }
127 document.querySelector(`#cancel-${articleId}`).classList.add('hidden');
128 document.querySelector(`#submit-${articleId}`).classList.add('hidden');
129}
130
131function submitArticle(articleId) {
132 // Récupérer l'éditeur correspondant à l'article
133 const editor = editors[articleId];
134 if (!editor) {
135 console.error('Éditeur non trouvé pour l\'article:', articleId);
136 return;
137 }
138
139 // Récupérer le contenu de l'éditeur
140 const newContent = editor.getContent();
141
142 // Envoi AJAX au serveur
143 fetch('index.php?action=editor_submit', {
144 method: 'POST',
145 headers: {
146 'Content-Type': 'application/json'
147 },
148 body: JSON.stringify({id: articleId, content: newContent})
149 })
150 .then(response => response.json())
151 .then(data => {
152 if (data.success) {
153 // Fermer l'éditeur et mettre à jour le contenu de l'article
154 closeEditor(articleId, false);
155 document.getElementById(articleId).innerHTML = newContent;
156 }
157 else {
158 alert('Erreur lors de la sauvegarde de l\'article.');
159 }
160 })
161 .catch(error => {
162 console.error('Erreur:', error);
163 });
164} \ No newline at end of file