From 774f9b9218a604fc874fdcfd6df0900c92ec1ff1 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 11 Dec 2025 17:39:42 +0100 Subject: [PATCH 01/12] Ajout d'une page d'information pratiques --- css/base.css | 1 + css/home.css | 1 - index.html | 1 + infos-pratiques.html | 136 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 infos-pratiques.html diff --git a/css/base.css b/css/base.css index bd4db14..268ef28 100644 --- a/css/base.css +++ b/css/base.css @@ -57,6 +57,7 @@ nav a, footer a, aside a { font-family: Dymo; font-size: 3em; display: inline-block; + margin-right: 1em; } nav a.current { diff --git a/css/home.css b/css/home.css index 7dc37e7..859720c 100644 --- a/css/home.css +++ b/css/home.css @@ -49,7 +49,6 @@ section { font-family: Erika; margin: auto; margin-bottom: 100px; - columns: 560px; padding: 2%; } diff --git a/index.html b/index.html index 5fcc012..de37388 100644 --- a/index.html +++ b/index.html @@ -13,6 +13,7 @@
diff --git a/infos-pratiques.html b/infos-pratiques.html new file mode 100644 index 0000000..de63cc0 --- /dev/null +++ b/infos-pratiques.html @@ -0,0 +1,136 @@ + + + + + + + + + + Camp Interhack 2026 + + + + +
+ + + + + + + + + + + + + + + + + + +

+ Informations +
+ Pratiques +

+ +

+ Quand ? +

+ +
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ +

+ Où ? +

+ +
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ + +

+ Comment ? +

+
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ +

+ Quoi ? +

+
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ +

+ Venir ? +

+
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ +

+ Manger ? +

+
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ +

+ Dormir ? +

+
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ +

+ Le prix ? +

+
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ +

+ Le son ? +

+
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ + +

+ Le réseau ? +

+
+

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+
+ +
+ + + + -- 2.30.2 From f3e4293ff5caa54cf629687eaa50fa554eabd3b1 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 11:59:31 +0100 Subject: [PATCH 02/12] Application du patch de EpicKiwi --- css/base.css | 2 + css/guide.css | 112 +++++++++ feat-infos-pratiques.patch | 459 +++++++++++++++++++++++++++++++++++++ guide.html | 0 guide.template.html | 56 +++++ index.html | 2 +- js/drag.js | 5 + update-guide.sh | 25 ++ 8 files changed, 660 insertions(+), 1 deletion(-) create mode 100644 css/guide.css create mode 100644 feat-infos-pratiques.patch create mode 100644 guide.html create mode 100644 guide.template.html create mode 100755 update-guide.sh diff --git a/css/base.css b/css/base.css index 268ef28..e00b4c1 100644 --- a/css/base.css +++ b/css/base.css @@ -75,10 +75,12 @@ footer { text-align: center; display: flex; justify-content: space-evenly; + align-items: end; } @media (max-width: 600px) { footer { flex-direction: column; + align-items: center; } } \ No newline at end of file diff --git a/css/guide.css b/css/guide.css new file mode 100644 index 0000000..d175b18 --- /dev/null +++ b/css/guide.css @@ -0,0 +1,112 @@ +body { + background-image: radial-gradient(at left top, #058C9E, #BC5180); + background-repeat: no-repeat; + background-attachment: fixed; +} + +main { + width: 100%; + max-width: 800px; + margin-left: auto; + margin-right: auto; + background: none; + padding-bottom: 100px; + font-family: Erika; + line-height: 1.5; +} + +main > * { + width: 100%; + background: linear-gradient(to top, rgba(255,255,255,0.5)), url(../assets/notebook.jpg), white; + box-sizing: border-box; + margin: 0; + background-size: 100% auto; + padding-bottom: 1em; + filter: drop-shadow(5px 3px 2px #000000b7); + padding-left: 15px; + padding-right: 15px; + z-index: 1; + position: relative; + max-width: 100%; +} + +main > img { + object-fit: scale-down; +} + +main > .sticker { + background: none; + z-index: 0; +} + +main > *.draggable:not(.sticker) { + + &:not(h2) { + width: 100%; + } + + &:not(h1):not(h2):hover { + animation: none; + } +} + + +main ul, +main ol, +main dl { + padding-left: calc(1em + 15px); +} + +main h1 { + text-align: center; + font-size: 4rem; +} + +main h1, +main h2 { + background: none; + padding-top: 1.5em; + padding-left: 0; + padding-right: 0; +} + +@media screen and (max-width: 800px) { + main h2 { + padding-left: 1em; + } +} + +main h1 + *, +main h2 + * { + padding-top: 1em; +} + +main h1 small { + display: block; + background: url(../assets/notebook.jpg); + color: black; + font-family: Erika; + font-size: 2.5rem; + width: fit-content; + max-width: 90%; + margin-left: auto; + margin-right: auto; + transform: translateY(-0.3em) rotate(-2deg); +} + +main pre { + white-space: pre-wrap; +} + +main a { + text-decoration: underline; + color: teal; +} + +main a:visited { + color: rebeccapurple; +} + +footer { + padding: 1em; +} \ No newline at end of file diff --git a/feat-infos-pratiques.patch b/feat-infos-pratiques.patch new file mode 100644 index 0000000..d9e90b9 --- /dev/null +++ b/feat-infos-pratiques.patch @@ -0,0 +1,459 @@ +diff --git a/css/base.css b/css/base.css +index 12d4840..e00b4c1 100644 +--- a/css/base.css ++++ b/css/base.css +@@ -24,16 +24,18 @@ a { + } + + main { +- background-color: #413f43; +- background-image: url(../assets/background.jpg); +- background-repeat: no-repeat; +- background-size: cover; ++ /* background-color: #413f43;*/ ++ background: #058C9E; ++ background: radial-gradient(at left top, #058C9E, #BC5180); ++ /* background-repeat: no-repeat; ++ background-size: cover; */ + } + + +-main h1, main h2 { ++main h1, main h2, main h3 { + font-family: Banquise; + color: white; ++ z-index: 2; + } + + main h1 { +@@ -73,10 +75,12 @@ footer { + text-align: center; + display: flex; + justify-content: space-evenly; ++ align-items: end; + } + + @media (max-width: 600px) { + footer { + flex-direction: column; ++ align-items: center; + } + } +\ No newline at end of file +diff --git a/css/drag.css b/css/drag.css +index 6e97cd7..b3b3804 100644 +--- a/css/drag.css ++++ b/css/drag.css +@@ -17,6 +17,28 @@ main img.draggable { + filter: drop-shadow(5px 3px 2px #000000b7); + } + ++.draggable:hover { ++ /* Start the shake animation and make the animation last for 0.5 seconds */ ++ animation: shake 3s; ++ ++ /* When the animation is finished, start again */ ++ animation-iteration-count: infinite; ++} ++ ++@keyframes shake { ++ 0% { transform: translate(1px, 1px) rotate(0deg); } ++ 10% { transform: translate(-1px, -2px) rotate(-1deg); } ++ 20% { transform: translate(-2px, 0px) rotate(1deg); } ++ 30% { transform: translate(2px, 2px) rotate(0deg); } ++ 40% { transform: translate(1px, -1px) rotate(1deg); } ++ 50% { transform: translate(-1px, 2px) rotate(-1deg); } ++ 60% { transform: translate(-3px, 1px) rotate(0deg); } ++ 70% { transform: translate(2px, 1px) rotate(-1deg); } ++ 80% { transform: translate(-1px, -1px) rotate(1deg); } ++ 90% { transform: translate(1px, 2px) rotate(0deg); } ++ 100% { transform: translate(1px, -2px) rotate(-1deg); } ++} ++ + span.draggable { + display: inline-block; + /* text-shadow: 1px 1px black, 0px 1px black, -1px 0px black, -1px -1px black; */ +diff --git a/css/guide.css b/css/guide.css +new file mode 100644 +index 0000000..d175b18 +--- /dev/null ++++ b/css/guide.css +@@ -0,0 +1,112 @@ ++body { ++ background-image: radial-gradient(at left top, #058C9E, #BC5180); ++ background-repeat: no-repeat; ++ background-attachment: fixed; ++} ++ ++main { ++ width: 100%; ++ max-width: 800px; ++ margin-left: auto; ++ margin-right: auto; ++ background: none; ++ padding-bottom: 100px; ++ font-family: Erika; ++ line-height: 1.5; ++} ++ ++main > * { ++ width: 100%; ++ background: linear-gradient(to top, rgba(255,255,255,0.5)), url(../assets/notebook.jpg), white; ++ box-sizing: border-box; ++ margin: 0; ++ background-size: 100% auto; ++ padding-bottom: 1em; ++ filter: drop-shadow(5px 3px 2px #000000b7); ++ padding-left: 15px; ++ padding-right: 15px; ++ z-index: 1; ++ position: relative; ++ max-width: 100%; ++} ++ ++main > img { ++ object-fit: scale-down; ++} ++ ++main > .sticker { ++ background: none; ++ z-index: 0; ++} ++ ++main > *.draggable:not(.sticker) { ++ ++ &:not(h2) { ++ width: 100%; ++ } ++ ++ &:not(h1):not(h2):hover { ++ animation: none; ++ } ++} ++ ++ ++main ul, ++main ol, ++main dl { ++ padding-left: calc(1em + 15px); ++} ++ ++main h1 { ++ text-align: center; ++ font-size: 4rem; ++} ++ ++main h1, ++main h2 { ++ background: none; ++ padding-top: 1.5em; ++ padding-left: 0; ++ padding-right: 0; ++} ++ ++@media screen and (max-width: 800px) { ++ main h2 { ++ padding-left: 1em; ++ } ++} ++ ++main h1 + *, ++main h2 + * { ++ padding-top: 1em; ++} ++ ++main h1 small { ++ display: block; ++ background: url(../assets/notebook.jpg); ++ color: black; ++ font-family: Erika; ++ font-size: 2.5rem; ++ width: fit-content; ++ max-width: 90%; ++ margin-left: auto; ++ margin-right: auto; ++ transform: translateY(-0.3em) rotate(-2deg); ++} ++ ++main pre { ++ white-space: pre-wrap; ++} ++ ++main a { ++ text-decoration: underline; ++ color: teal; ++} ++ ++main a:visited { ++ color: rebeccapurple; ++} ++ ++footer { ++ padding: 1em; ++} +\ No newline at end of file +diff --git a/guide.template.html b/guide.template.html +new file mode 100644 +index 0000000..53ad069 +--- /dev/null ++++ b/guide.template.html +@@ -0,0 +1,56 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Guide Interhack Camp 2026 ++ ++ ++ ++
++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++
++
++

Association

++ statuts ++
++
++

Interhack

++ accueil ++ wiki ++
++
++

Site Web

++ source ++
++
++ Dernière mise à jour du guide: ++
++
++ ++ +diff --git a/index.html b/index.html +index cb211f1..f991bbf 100644 +--- a/index.html ++++ b/index.html +@@ -13,8 +13,8 @@ + + +
+ +diff --git a/infos-pratiques.html b/infos-pratiques.html +deleted file mode 100644 +index de63cc0..0000000 +--- a/infos-pratiques.html ++++ /dev/null +@@ -1,136 +0,0 @@ +- +- +- +- +- +- +- +- +- +- Camp Interhack 2026 +- +- +- +- +-
+- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +-

+- Informations +-
+- Pratiques +-

+- +-

+- Quand ? +-

+- +-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +-

+- Où ? +-

+- +-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +- +-

+- Comment ? +-

+-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +-

+- Quoi ? +-

+-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +-

+- Venir ? +-

+-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +-

+- Manger ? +-

+-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +-

+- Dormir ? +-

+-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +-

+- Le prix ? +-

+-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +-

+- Le son ? +-

+-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +- +-

+- Le réseau ? +-

+-
+-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

+-
+- +-
+- +- +- +- +diff --git a/js/drag.js b/js/drag.js +index 55d68e5..7fdf564 100644 +--- a/js/drag.js ++++ b/js/drag.js +@@ -1,5 +1,10 @@ + const stepSize = 100; + const main = document.querySelector('main'); ++ ++for(let guideDraggable of document.querySelectorAll("#page-guide main > *")) { ++ guideDraggable.classList.add("draggable"); ++} ++ + const draggables = document.querySelectorAll(".draggable"); + const randomStarts = document.querySelectorAll(".randomStart"); + +diff --git a/update-guide.sh b/update-guide.sh +new file mode 100755 +index 0000000..f1c4990 +--- /dev/null ++++ b/update-guide.sh +@@ -0,0 +1,25 @@ ++#!/bin/bash ++ ++GUIDE_EDGEDOC_URL="https://md.lqdn.fr/H0gKhjbKTfeM41L9bG9zUA" ++ ++DATE_CMD="date --utc '+%d/%m/%Y %H:%I UTC'" ++ ++echo "Mise a jour du guide dans guide.html a partir du edgedoc" ++echo "$GUIDE_EDGEDOC_URL" ++ ++set -e ++curl --silent --fail-with-body "$GUIDE_EDGEDOC_URL/download" > guide.tmp.md ++pandoc --from markdown --to html guide.tmp.md > guide.tmp.html ++cat guide.template.html \ ++ | sed '/EDGEDOC/{ ++ s///; ++ r guide.tmp.html ++ }' \ ++ | sed -e "/DATE/{ ++ s///; ++ n; ++ e $DATE_CMD ++ }" \ ++ > guide.html ++ ++rm guide.tmp.md guide.tmp.html +\ No newline at end of file diff --git a/guide.html b/guide.html new file mode 100644 index 0000000..e69de29 diff --git a/guide.template.html b/guide.template.html new file mode 100644 index 0000000..53ad069 --- /dev/null +++ b/guide.template.html @@ -0,0 +1,56 @@ + + + + + + + + + + Guide Interhack Camp 2026 + + + +
+ + + + + + + + + + + + + + + + + +
+
+
+

Association

+ statuts +
+
+

Interhack

+ accueil + wiki +
+
+

Site Web

+ source +
+
+ Dernière mise à jour du guide: +
+
+ + diff --git a/index.html b/index.html index de37388..4d17ca0 100644 --- a/index.html +++ b/index.html @@ -13,8 +13,8 @@
diff --git a/js/drag.js b/js/drag.js index 55d68e5..7fdf564 100644 --- a/js/drag.js +++ b/js/drag.js @@ -1,5 +1,10 @@ const stepSize = 100; const main = document.querySelector('main'); + +for(let guideDraggable of document.querySelectorAll("#page-guide main > *")) { + guideDraggable.classList.add("draggable"); +} + const draggables = document.querySelectorAll(".draggable"); const randomStarts = document.querySelectorAll(".randomStart"); diff --git a/update-guide.sh b/update-guide.sh new file mode 100755 index 0000000..f1c4990 --- /dev/null +++ b/update-guide.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +GUIDE_EDGEDOC_URL="https://md.lqdn.fr/H0gKhjbKTfeM41L9bG9zUA" + +DATE_CMD="date --utc '+%d/%m/%Y %H:%I UTC'" + +echo "Mise a jour du guide dans guide.html a partir du edgedoc" +echo "$GUIDE_EDGEDOC_URL" + +set -e +curl --silent --fail-with-body "$GUIDE_EDGEDOC_URL/download" > guide.tmp.md +pandoc --from markdown --to html guide.tmp.md > guide.tmp.html +cat guide.template.html \ + | sed '/EDGEDOC/{ + s///; + r guide.tmp.html + }' \ + | sed -e "/DATE/{ + s///; + n; + e $DATE_CMD + }" \ + > guide.html + +rm guide.tmp.md guide.tmp.html \ No newline at end of file -- 2.30.2 From f124120eb6d9f0ca24cd9e68406e483148ce0428 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 11:59:51 +0100 Subject: [PATCH 03/12] Suppression de l'ancienne page d'infos pratiques --- infos-pratiques.html | 136 ------------------------------------------- 1 file changed, 136 deletions(-) delete mode 100644 infos-pratiques.html diff --git a/infos-pratiques.html b/infos-pratiques.html deleted file mode 100644 index de63cc0..0000000 --- a/infos-pratiques.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - Camp Interhack 2026 - - - - -
- - - - - - - - - - - - - - - - - - -

- Informations -
- Pratiques -

- -

- Quand ? -

- -
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- -

- Où ? -

- -
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- - -

- Comment ? -

-
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- -

- Quoi ? -

-
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- -

- Venir ? -

-
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- -

- Manger ? -

-
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- -

- Dormir ? -

-
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- -

- Le prix ? -

-
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- -

- Le son ? -

-
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- - -

- Le réseau ? -

-
-

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

-
- -
- - - - -- 2.30.2 From 838d8ffa9a09e73bbc9a5e70dd2aad00fd5a5c48 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 12:16:14 +0100 Subject: [PATCH 04/12] Ajout d'un CSS pour les photos de l'antenne --- css/base.css | 6 +- guide.html | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+), 1 deletion(-) diff --git a/css/base.css b/css/base.css index e00b4c1..6e2fe0f 100644 --- a/css/base.css +++ b/css/base.css @@ -18,6 +18,10 @@ html, body { margin: 0; } +img { + max-width: 100%; +} + a { text-decoration: none; color: black; @@ -83,4 +87,4 @@ footer { flex-direction: column; align-items: center; } -} \ No newline at end of file +} diff --git a/guide.html b/guide.html index e69de29..1769a3c 100644 --- a/guide.html +++ b/guide.html @@ -0,0 +1,190 @@ + + + + + + + + + + Guide Interhack Camp 2026 + + + +
+ + + + + + + + + + + + + + + + + +

Camp Interhack 2026 +Infos pratiques

+

Le Camp Interhack 2026 se déroulera du jeudi 2 Juillet au +dimanche 5 Juillet 2026 à l’Antenne Paulette +(47.541451, +-2.091871). L’Antenne Paulette est un hackerspace qui se trouve à +Sévérac en Loire Atlantique (44) entre Nantes et Redon, au sein d’un ancien centre +de vacances de la Poste avec dortoir, hangard, champs et forêts…

+
+ + +
+
+ + +
+

Tickets

+

Nous attendons au maximum 200 personnes au Camp. Prenez votre ticket +pour réserver votre place. Nous préfèrons ne pas dépasser la jauge de +200 personnes pour éviter de surcharger les personnes qui organisent +l’événement.

+

Le ticket pour venir au Camp est à prix libre. Vous pouvez donner ce +que vous pouvez ou voulez donner. Le prix des billet permet de financer +la réservation du lieu, la nourriture sur place, la location du materiel +et les autres frais de l’èvénement.

+

Nous n’avons pas encore finalisé le système de réservation. Il est +pas encore possible de prendre votre ticket.

+

Dormir sur place

+

Il est possible de dormir sur place. Les dortoirs peuvent accueillir +jusqu’a 54 personnes dasn un lit. Un espace camping est prévu pour poser +une tente et un parking à l’ombre pour poser votre camion si vous dormez +dedans.

+
    +
  • hébergement +
      +
    • camping
    • +
    • dortoirs +
        +
      • À ce niveau, je pense qu’on doit attribuer les lits uniquement aux +personnes qui en ont besoin en terme d’accessibilité. Donc on les +propose uniquement aux personnes ayant besoin par exemple d’un accès +PMR. À noter aussi que c’est des dortoirs, donc espace partagé.
      • +
      • Je propose également que 2 dortoirs soit non-mixtes, soit 18 places +non-mixtes PMR.
      • +
      +
      Le bâtiment A est composé de 6 dortoirs de 9 lits simples, soit une capacité totale de 54 lits.
      +La jauge de 54 personnes est un impératif de sécurité. Merci de ne pas ajouter de couchage
      +supplémentaire.
      +Les matelas sont équipés d’alaises. Des oreillers et couettes sont à votre disposition.
      +Il vous est demandé d’amener vos propres draps housses, housse de couettes et taies d’oreiller.
    • +
  • +
+

Proposer une activité

+
    +
  • types d’activités +
      +
    • ateliers
    • +
    • musique
    • +
    • discussions
    • +
  • +
  • pretalx en cours de préparation (cf Assia & 12b, d’après la réu +du 12 juillet)
  • +
+

Participer a l’organisation

+

Le Camp est auto-organisé et tourne grâce aux personnes qui y +participent, dans une ambiance joyeuse et démocratique. Vous pouvez +également participer en proposant votre aide sur diverses choses, que +vous soyez forte en organisation ou juste envie de passer dire coucou et +nous donner de la force !

+

Rendez-vous sur le groupe Matrix du camp : +https://matrix.to/#/#camp-space:matrix.interhacker.space

+

Comment ?

+
    +
  • sanitaires
  • +
  • accessibilité +
      +
    • les installations du lieu sont accessible PMR
    • +
    • les espaces de forêt nécessitent un chantier pour être accessibles +[à organiser]
    • +
    • accpour lessibilité aux personnes aveugles et malvoyant’e’s : +
        +
      • informations sonores
      • +
    • +
    • pour les personnes sourdes/malentendant’e’s : +
        +
      • informations visuelles
      • +
      • pads
      • +
      • ateliers non-oraux
      • +
    • +
    • ambiance sensorielle
    • +
  • +
  • réduction des risques +
      +
    • un groupe travaille dessus, rejoignez-le
    • +
  • +
  • organisation : lire les pads et rejoindre les sous-groupes du space +Matrix : +
  • +
  • finances +
      +
    • budget prévisionnel
    • +
    • prix libre
    • +
  • +
+

qui ?

+ +

Autre

+ +
+
+
+

Association

+ statuts +
+
+

Interhack

+ accueil + wiki +
+
+

Site Web

+ source +
+
+ Dernière mise à jour du guide: +18/12/2025 11:11 UTC +
+
+ + -- 2.30.2 From 95a4dee4f057c804f93ff332a6fa9ac499a9d583 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 16:23:24 +0100 Subject: [PATCH 05/12] Remove patch file --- feat-infos-pratiques.patch | 459 ------------------------------------- 1 file changed, 459 deletions(-) delete mode 100644 feat-infos-pratiques.patch diff --git a/feat-infos-pratiques.patch b/feat-infos-pratiques.patch deleted file mode 100644 index d9e90b9..0000000 --- a/feat-infos-pratiques.patch +++ /dev/null @@ -1,459 +0,0 @@ -diff --git a/css/base.css b/css/base.css -index 12d4840..e00b4c1 100644 ---- a/css/base.css -+++ b/css/base.css -@@ -24,16 +24,18 @@ a { - } - - main { -- background-color: #413f43; -- background-image: url(../assets/background.jpg); -- background-repeat: no-repeat; -- background-size: cover; -+ /* background-color: #413f43;*/ -+ background: #058C9E; -+ background: radial-gradient(at left top, #058C9E, #BC5180); -+ /* background-repeat: no-repeat; -+ background-size: cover; */ - } - - --main h1, main h2 { -+main h1, main h2, main h3 { - font-family: Banquise; - color: white; -+ z-index: 2; - } - - main h1 { -@@ -73,10 +75,12 @@ footer { - text-align: center; - display: flex; - justify-content: space-evenly; -+ align-items: end; - } - - @media (max-width: 600px) { - footer { - flex-direction: column; -+ align-items: center; - } - } -\ No newline at end of file -diff --git a/css/drag.css b/css/drag.css -index 6e97cd7..b3b3804 100644 ---- a/css/drag.css -+++ b/css/drag.css -@@ -17,6 +17,28 @@ main img.draggable { - filter: drop-shadow(5px 3px 2px #000000b7); - } - -+.draggable:hover { -+ /* Start the shake animation and make the animation last for 0.5 seconds */ -+ animation: shake 3s; -+ -+ /* When the animation is finished, start again */ -+ animation-iteration-count: infinite; -+} -+ -+@keyframes shake { -+ 0% { transform: translate(1px, 1px) rotate(0deg); } -+ 10% { transform: translate(-1px, -2px) rotate(-1deg); } -+ 20% { transform: translate(-2px, 0px) rotate(1deg); } -+ 30% { transform: translate(2px, 2px) rotate(0deg); } -+ 40% { transform: translate(1px, -1px) rotate(1deg); } -+ 50% { transform: translate(-1px, 2px) rotate(-1deg); } -+ 60% { transform: translate(-3px, 1px) rotate(0deg); } -+ 70% { transform: translate(2px, 1px) rotate(-1deg); } -+ 80% { transform: translate(-1px, -1px) rotate(1deg); } -+ 90% { transform: translate(1px, 2px) rotate(0deg); } -+ 100% { transform: translate(1px, -2px) rotate(-1deg); } -+} -+ - span.draggable { - display: inline-block; - /* text-shadow: 1px 1px black, 0px 1px black, -1px 0px black, -1px -1px black; */ -diff --git a/css/guide.css b/css/guide.css -new file mode 100644 -index 0000000..d175b18 ---- /dev/null -+++ b/css/guide.css -@@ -0,0 +1,112 @@ -+body { -+ background-image: radial-gradient(at left top, #058C9E, #BC5180); -+ background-repeat: no-repeat; -+ background-attachment: fixed; -+} -+ -+main { -+ width: 100%; -+ max-width: 800px; -+ margin-left: auto; -+ margin-right: auto; -+ background: none; -+ padding-bottom: 100px; -+ font-family: Erika; -+ line-height: 1.5; -+} -+ -+main > * { -+ width: 100%; -+ background: linear-gradient(to top, rgba(255,255,255,0.5)), url(../assets/notebook.jpg), white; -+ box-sizing: border-box; -+ margin: 0; -+ background-size: 100% auto; -+ padding-bottom: 1em; -+ filter: drop-shadow(5px 3px 2px #000000b7); -+ padding-left: 15px; -+ padding-right: 15px; -+ z-index: 1; -+ position: relative; -+ max-width: 100%; -+} -+ -+main > img { -+ object-fit: scale-down; -+} -+ -+main > .sticker { -+ background: none; -+ z-index: 0; -+} -+ -+main > *.draggable:not(.sticker) { -+ -+ &:not(h2) { -+ width: 100%; -+ } -+ -+ &:not(h1):not(h2):hover { -+ animation: none; -+ } -+} -+ -+ -+main ul, -+main ol, -+main dl { -+ padding-left: calc(1em + 15px); -+} -+ -+main h1 { -+ text-align: center; -+ font-size: 4rem; -+} -+ -+main h1, -+main h2 { -+ background: none; -+ padding-top: 1.5em; -+ padding-left: 0; -+ padding-right: 0; -+} -+ -+@media screen and (max-width: 800px) { -+ main h2 { -+ padding-left: 1em; -+ } -+} -+ -+main h1 + *, -+main h2 + * { -+ padding-top: 1em; -+} -+ -+main h1 small { -+ display: block; -+ background: url(../assets/notebook.jpg); -+ color: black; -+ font-family: Erika; -+ font-size: 2.5rem; -+ width: fit-content; -+ max-width: 90%; -+ margin-left: auto; -+ margin-right: auto; -+ transform: translateY(-0.3em) rotate(-2deg); -+} -+ -+main pre { -+ white-space: pre-wrap; -+} -+ -+main a { -+ text-decoration: underline; -+ color: teal; -+} -+ -+main a:visited { -+ color: rebeccapurple; -+} -+ -+footer { -+ padding: 1em; -+} -\ No newline at end of file -diff --git a/guide.template.html b/guide.template.html -new file mode 100644 -index 0000000..53ad069 ---- /dev/null -+++ b/guide.template.html -@@ -0,0 +1,56 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Guide Interhack Camp 2026 -+ -+ -+ -+
-+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+
-+
-+
-+

Association

-+ statuts -+
-+
-+

Interhack

-+ accueil -+ wiki -+
-+
-+

Site Web

-+ source -+
-+
-+ Dernière mise à jour du guide: -+
-+
-+ -+ -diff --git a/index.html b/index.html -index cb211f1..f991bbf 100644 ---- a/index.html -+++ b/index.html -@@ -13,8 +13,8 @@ - - -
- -diff --git a/infos-pratiques.html b/infos-pratiques.html -deleted file mode 100644 -index de63cc0..0000000 ---- a/infos-pratiques.html -+++ /dev/null -@@ -1,136 +0,0 @@ -- -- -- -- -- -- -- -- -- -- Camp Interhack 2026 -- -- -- -- --
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

-- Informations --
-- Pratiques --

-- --

-- Quand ? --

-- --
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- --

-- Où ? --

-- --
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- -- --

-- Comment ? --

--
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- --

-- Quoi ? --

--
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- --

-- Venir ? --

--
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- --

-- Manger ? --

--
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- --

-- Dormir ? --

--
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- --

-- Le prix ? --

--
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- --

-- Le son ? --

--
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- -- --

-- Le réseau ? --

--
--

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Impedit beatae, earum omnis quaerat reprehenderit error atque amet minus, quod quo repellat fuga exercitationem sequi ex libero velit pariatur. Omnis, alias!

--
-- --
-- -- -- -- -diff --git a/js/drag.js b/js/drag.js -index 55d68e5..7fdf564 100644 ---- a/js/drag.js -+++ b/js/drag.js -@@ -1,5 +1,10 @@ - const stepSize = 100; - const main = document.querySelector('main'); -+ -+for(let guideDraggable of document.querySelectorAll("#page-guide main > *")) { -+ guideDraggable.classList.add("draggable"); -+} -+ - const draggables = document.querySelectorAll(".draggable"); - const randomStarts = document.querySelectorAll(".randomStart"); - -diff --git a/update-guide.sh b/update-guide.sh -new file mode 100755 -index 0000000..f1c4990 ---- /dev/null -+++ b/update-guide.sh -@@ -0,0 +1,25 @@ -+#!/bin/bash -+ -+GUIDE_EDGEDOC_URL="https://md.lqdn.fr/H0gKhjbKTfeM41L9bG9zUA" -+ -+DATE_CMD="date --utc '+%d/%m/%Y %H:%I UTC'" -+ -+echo "Mise a jour du guide dans guide.html a partir du edgedoc" -+echo "$GUIDE_EDGEDOC_URL" -+ -+set -e -+curl --silent --fail-with-body "$GUIDE_EDGEDOC_URL/download" > guide.tmp.md -+pandoc --from markdown --to html guide.tmp.md > guide.tmp.html -+cat guide.template.html \ -+ | sed '/EDGEDOC/{ -+ s///; -+ r guide.tmp.html -+ }' \ -+ | sed -e "/DATE/{ -+ s///; -+ n; -+ e $DATE_CMD -+ }" \ -+ > guide.html -+ -+rm guide.tmp.md guide.tmp.html -\ No newline at end of file -- 2.30.2 From 389b4d4c82318fe4e00cc862ff2ad4e61bf8455a Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 16:54:58 +0100 Subject: [PATCH 06/12] Ajout d'un avertissement. --- guide.template.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/guide.template.html b/guide.template.html index 53ad069..c8822ae 100644 --- a/guide.template.html +++ b/guide.template.html @@ -1,3 +1,12 @@ + + + -- 2.30.2 From c18d25924a52b4746756bc1f9f8c568d701b0197 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 17:02:01 +0100 Subject: [PATCH 07/12] Update README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 2a7dfc8..5fdadf5 100644 --- a/README.md +++ b/README.md @@ -38,3 +38,7 @@ PDF can be generated thanks to `pandoc` and the good old `curl` this way: ```sh curl -s https://md.interhacker.space/u2VNUSO6S36xx5Ensc3FCw/download | pandoc -V geometry:margin=3cm -o assets/Camp-Interhack_Statuts.pdf ``` + +## Generation de la page Guide. + +La page Guide est générée depuis un Hedgedocs, en markdown, via le fichier update-guide.sh qui utilise le fichier guide.template.html. Le contenu de la page est donc un HTML basique in fine. \ No newline at end of file -- 2.30.2 From cc3a26c7875d6ad53279f791abbffd57837039c8 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 17:19:51 +0100 Subject: [PATCH 08/12] =?UTF-8?q?Ajout=20du=20fichier=20guide.html=20g?= =?UTF-8?q?=C3=A9n=C3=A9r=C3=A9=20dans=20l'image=20Docker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 77adc9b..519aff8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM docker.io/nginx:1.29-alpine -COPY index.html poster.html /usr/share/nginx/html +COPY index.html poster.html guide.html /usr/share/nginx/html COPY assets /usr/share/nginx/html/assets COPY css /usr/share/nginx/html/css COPY js /usr/share/nginx/html/js -- 2.30.2 From 4af3c1ae276c07475a57b4617c7600468d798680 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 17:21:31 +0100 Subject: [PATCH 09/12] Update README --- README.md | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 5fdadf5..9bd2043 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,28 @@ # Interhack Camp Website 2026 -## Build the Docker image +## How to deploy : + +### generate statuses PDF + +Statuses are stored in [this online pad](https://md.interhacker.space/u2VNUSO6S36xx5Ensc3FCw). + +PDF can be generated thanks to `pandoc` and the good old `curl` this way: + +```sh +curl -s https://md.interhacker.space/u2VNUSO6S36xx5Ensc3FCw/download | pandoc -V geometry:margin=3cm -o assets/Camp-Interhack_Statuts.pdf +``` + +### Generation de la page Guide. + +La page Guide est générée depuis un Hedgedocs, en markdown, via le fichier update-guide.sh qui utilise le fichier guide.template.html. Le contenu de la page est donc un HTML basique in fine. + +```sh +bash update-guide.sh +``` + +### Build the Docker image + +Please generate We use Docker for deploying on the Interhack infra. Until we have a proper CI, we need to build manually. @@ -28,17 +50,3 @@ docker push git.interhacker.space/interhack/camp-website-2026:latest The pull process is triggered every five minutes. So you may wait at least this amount of time before the website is up-to-date! (and Ctrl + Shift + R is useful to nuke cache) - -## generate statuses PDF - -Statuses are stored in [this online pad](https://md.interhacker.space/u2VNUSO6S36xx5Ensc3FCw). - -PDF can be generated thanks to `pandoc` and the good old `curl` this way: - -```sh -curl -s https://md.interhacker.space/u2VNUSO6S36xx5Ensc3FCw/download | pandoc -V geometry:margin=3cm -o assets/Camp-Interhack_Statuts.pdf -``` - -## Generation de la page Guide. - -La page Guide est générée depuis un Hedgedocs, en markdown, via le fichier update-guide.sh qui utilise le fichier guide.template.html. Le contenu de la page est donc un HTML basique in fine. \ No newline at end of file -- 2.30.2 From 30a4d20c62f8041b8b1181271d08f0943aae1438 Mon Sep 17 00:00:00 2001 From: Nono Date: Thu, 18 Dec 2025 17:23:44 +0100 Subject: [PATCH 10/12] Update commetn --- guide.template.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide.template.html b/guide.template.html index c8822ae..4be2ee5 100644 --- a/guide.template.html +++ b/guide.template.html @@ -1,5 +1,5 @@ -
- - - -- 2.30.2