Compare commits
No commits in common. "main" and "feat/update-docker-image" have entirely different histories.
main
...
feat/updat
17 changed files with 37 additions and 196 deletions
|
|
@ -1,7 +1,4 @@
|
|||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
on: [push]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: docker
|
||||
|
|
@ -9,13 +6,27 @@ jobs:
|
|||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Pandoc
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y pandoc
|
||||
|
||||
- name: Generate guide.html
|
||||
run: bash update-guide.sh
|
||||
|
||||
- name: Install Podman
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y podman
|
||||
|
||||
- name: Podman Login
|
||||
run: |
|
||||
echo "${{ secrets.DOCKER_PASSWORD }}" | podman login git.interhacker.space --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin
|
||||
|
||||
- name: Build and Push Container Image
|
||||
- name: Build Container Image
|
||||
run: |
|
||||
trap 'rm -f dist.zip' EXIT
|
||||
wget -q -O dist.zip https://git.interhacker.space/epickiwi/2026.camp.carte/releases/download/latest/dist.zip
|
||||
podman build -t git.interhacker.space/interhack/camp-website-2026:latest .
|
||||
|
||||
- name: Push Container Image
|
||||
run: |
|
||||
podman push git.interhacker.space/interhack/camp-website-2026:latest
|
||||
|
|
|
|||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1 @@
|
|||
guide.html
|
||||
dist.zip
|
||||
|
|
|
|||
13
Dockerfile
13
Dockerfile
|
|
@ -1,19 +1,6 @@
|
|||
FROM docker.io/nginx:1.29-alpine
|
||||
|
||||
RUN apk add --update --no-cache unzip bash pandoc sed
|
||||
|
||||
COPY dist.zip /tmp/dist.zip
|
||||
RUN unzip -q /tmp/dist.zip -d /tmp/carte
|
||||
RUN mkdir -p /usr/share/nginx/html/carte
|
||||
RUN cp -r /tmp/carte/dist/* /usr/share/nginx/html/carte/
|
||||
RUN rm -rf /tmp/carte /tmp/dist.zip
|
||||
|
||||
COPY guide.template.html .
|
||||
COPY update-guide.sh .
|
||||
RUN bash update-guide.sh
|
||||
|
||||
COPY *.html /usr/share/nginx/html
|
||||
RUN mv 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
|
||||
|
|
|
|||
|
|
@ -40,13 +40,11 @@ First, login to the Docker registry:
|
|||
docker login git.interhacker.space
|
||||
```
|
||||
|
||||
Then, download the map bundle, build and push to the registry:
|
||||
Then, build and push to the registry:
|
||||
|
||||
```bash
|
||||
wget -q -O dist.zip https://git.interhacker.space/epickiwi/2026.camp.carte/releases/download/latest/dist.zip
|
||||
docker build -t git.interhacker.space/interhack/camp-website-2026:latest .
|
||||
docker push git.interhacker.space/interhack/camp-website-2026:latest
|
||||
rm -f dist.zip
|
||||
```
|
||||
|
||||
The pull process is triggered every five minutes.
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M176 96C149.5 96 128 117.5 128 144L128 496C128 522.5 149.5 544 176 544L240 544C266.5 544 288 522.5 288 496L288 144C288 117.5 266.5 96 240 96L176 96zM400 96C373.5 96 352 117.5 352 144L352 496C352 522.5 373.5 544 400 544L464 544C490.5 544 512 522.5 512 496L512 144C512 117.5 490.5 96 464 96L400 96z"/></svg>
|
||||
|
Before Width: | Height: | Size: 527 B |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M187.2 100.9C174.8 94.1 159.8 94.4 147.6 101.6C135.4 108.8 128 121.9 128 136L128 504C128 518.1 135.5 531.2 147.6 538.4C159.7 545.6 174.8 545.9 187.2 539.1L523.2 355.1C536 348.1 544 334.6 544 320C544 305.4 536 291.9 523.2 284.9L187.2 100.9z"/></svg>
|
||||
|
Before Width: | Height: | Size: 470 B |
Binary file not shown.
|
|
@ -17,7 +17,6 @@
|
|||
<a href="index.html">maison</a>
|
||||
<a href="guide.html">guide</a>
|
||||
<a href="programme.html">programme</a>
|
||||
<a href="carte/">carte</a>
|
||||
<a href="poster.html">poster</a>
|
||||
<a href="contact.html" class="current">contact</a>
|
||||
</nav>
|
||||
|
|
@ -42,15 +41,14 @@
|
|||
</div>
|
||||
<div>
|
||||
<h3>Matrix :</h3>
|
||||
<a href="https://matrix.to/#/#camp-space:matrix.interhacker.space" class="matrix-link">#camp-space:matrix.interhacker.space</a>
|
||||
<a href="https://matrix.to/#/#camp-space:matrix.interhacker.space" class="matrix-link">#interhack:matrix.interhacker.space</a>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
<footer>
|
||||
<div>
|
||||
<h2>Association</h2>
|
||||
<a href="assets/Camp-Interhack_Statuts.pdf" target="_blank">statuts</a>
|
||||
<a href="assets/reglement-charte.pdf" target="_blank">règlement/charte</a>
|
||||
<a href="assets/Camp-Interhack_Statuts.pdf">statuts</a>
|
||||
</div>
|
||||
<div>
|
||||
<h2>Interhack</h2>
|
||||
|
|
|
|||
59
css/home.css
59
css/home.css
|
|
@ -121,62 +121,3 @@ font-size : 1.5em;
|
|||
text-align : end;
|
||||
background: linear-gradient(90deg,rgba(136, 0, 255, 1) 0%, rgba(255, 78, 0, 1) 42%, rgba(255, 191, 62, 1) 100%);
|
||||
}
|
||||
|
||||
.stamp {
|
||||
overflow: hidden;
|
||||
position: initial;
|
||||
top: 100px;
|
||||
right: 300px;
|
||||
padding: 10px 20px;
|
||||
background-color: rgba(255, 0, 0, 0.4);
|
||||
border: 2px dashed rgba(255, 0, 0, 0.8);
|
||||
border-radius: 2px;
|
||||
transform: rotate(10deg);
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
color: rgba(255, 0, 0, 0.9);
|
||||
text-transform: uppercase;
|
||||
z-index: 10;
|
||||
text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.8);
|
||||
opacity: 1;
|
||||
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
|
||||
background-image: linear-gradient(
|
||||
135deg,
|
||||
rgba(128, 0, 0, 0.1) 25%,
|
||||
rgba(128, 0, 0, 0.4) 50%,
|
||||
rgba(128, 0, 0, 0.1) 75%
|
||||
);
|
||||
background-size: 200% 200%;
|
||||
animation: scan 3s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes scan {
|
||||
0% { background-position: 0% 50%; }
|
||||
50% { background-position: 100% 50%; }
|
||||
100% { background-position: 0% 50%; }
|
||||
}
|
||||
|
||||
/* Radio Interhack */
|
||||
|
||||
#radio-player {
|
||||
float: left;
|
||||
z-index: 100000;
|
||||
background-color: aqua;
|
||||
height: 1em;
|
||||
width: 1em;
|
||||
position: absolute;
|
||||
bottom: 1em;
|
||||
right: 1em;
|
||||
position: fixed;
|
||||
border-radius: 10%;
|
||||
}
|
||||
|
||||
#radio-button {
|
||||
background: none;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: none;
|
||||
}
|
||||
|
|
@ -23,7 +23,6 @@ BISOUS
|
|||
<a href="index.html">maison</a>
|
||||
<a href="guide.html" class="current">guide</a>
|
||||
<a href="programme.html">programme</a>
|
||||
<a href="carte/">carte</a>
|
||||
<a href="poster.html">poster</a>
|
||||
<a href="contact.html">contact</a>
|
||||
</nav>
|
||||
|
|
|
|||
0
guide.tmp.md
Normal file
0
guide.tmp.md
Normal file
45
index.html
45
index.html
|
|
@ -10,7 +10,6 @@
|
|||
<script src="js/drag.js" defer></script>
|
||||
<script src="js/progress.js" defer></script>
|
||||
<script src="js/pop.js" defer></script>
|
||||
<script src="js/radio.js" defer></script>
|
||||
<link rel="icon" type="image/x-icon" href="assets/stickers/ecran.png">
|
||||
<title>Camp Interhack</title>
|
||||
</head>
|
||||
|
|
@ -20,7 +19,6 @@
|
|||
<a href="index.html" class="current">maison</a>
|
||||
<a href="guide.html">guide</a>
|
||||
<a href="programme.html">programme</a>
|
||||
<a href="carte/index.html">carte</a>
|
||||
<a href="poster.html">poster</a>
|
||||
<a href="contact.html">contact</a>
|
||||
</nav>
|
||||
|
|
@ -86,6 +84,12 @@
|
|||
Seule exigence, respecter toutes les marginalités, originalités, bizarreries et normaleries de
|
||||
chacun·es.</p>
|
||||
|
||||
<p>
|
||||
<h3>
|
||||
<a class="btn-nice" href="https://grist.interhacker.space/o/camp/forms/jhWe1wCu16LGEu81RTn3Um/4">S'inscrire</a>
|
||||
</h3>
|
||||
</p>
|
||||
|
||||
<p class="center">
|
||||
<a href="assets/camp-interhack.ics">📅 Ajouter l'évènement à son calendrier (.ics)</a>
|
||||
</p>
|
||||
|
|
@ -95,24 +99,20 @@
|
|||
<section id="progress">
|
||||
<h3>
|
||||
<span>Où en est-on ?</span>
|
||||
<div class="stamp" id="myStamp">COMPLET</div>
|
||||
</h3>
|
||||
<!--<p>Il y a</p>
|
||||
<p>Il y a</p>
|
||||
|
||||
<div class="places" >
|
||||
<div class="places">
|
||||
<span class="bar">
|
||||
<span id="gauge-bar" style="width:0" class="progression lessthanhalf">
|
||||
<span id="gauge-text">?/200</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div>places déjà réservées.</div> -->
|
||||
|
||||
<p>places déjà réservées.</p>
|
||||
<br>
|
||||
<p>
|
||||
C'est <b>complet</b> !
|
||||
<br>
|
||||
Nous avons reçu en amont</p>
|
||||
<p>Et nous avons reçu</p>
|
||||
<div class="places">
|
||||
<span class="bar">
|
||||
<span id="fundraising-bar" style="width:0" class="progression lessthanhalf">
|
||||
|
|
@ -121,12 +121,6 @@
|
|||
</span>
|
||||
</div>
|
||||
<p>des dons dont nous avons besoin.</p>
|
||||
|
||||
<p>
|
||||
Merci !!
|
||||
<br>
|
||||
Et nous comptons sur vous pour continuer à vous mobiliser avant et durant le camp, pour que l'on puisse atteindre les 100% !
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
||||
|
|
@ -158,14 +152,14 @@
|
|||
</div>
|
||||
<hr>
|
||||
<div>
|
||||
<p>Nous estimons avoir un budget de ~ 15 000€ et être autour de 200 personnes, et aurons donc besoin d'au moins autant pour que le camp soit à l'équilibre.</p>
|
||||
<p>Nous estimons avoir un budget de 10 000 ~ 15 000€ et être autour de 200 personnes, et aurons donc besoin d'au moins autant pour que le camp soit à l'équilibre.</p>
|
||||
<a href="https://grist.interhacker.space/o/camp/fCKWivmj4bCX/Budget/p/2">Voir le détail des comptes</a>
|
||||
</div>
|
||||
<!--<hr>
|
||||
<hr>
|
||||
<div>
|
||||
<p>Si tu ne sais pas quel prix libre donner, et/ou que tu veux de l'aide pour définir un prix libre juste et éclairé pour ta participation au camp, voici un thunomètre rapide qui peut répondre au besoin.</p>
|
||||
<a href="assets/Thunometre-participanxes.pdf">Thunomètre</a>
|
||||
</div>-->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="participe">
|
||||
|
|
@ -194,22 +188,11 @@
|
|||
<p>et bien d'autres !<br> Rejoignez le canal Matrix sur <code>#interhack:matrix.interhacker.space</code></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="radio-player">
|
||||
<audio preload=”metadata”>
|
||||
<source src="http://stream.p-node.org/interhack.mp3" type="audio/mp3">
|
||||
😥
|
||||
</audio>
|
||||
<span id="radio-button">
|
||||
<img src="assets/play-solid-full.svg" alt="play button">
|
||||
</span>
|
||||
</section>
|
||||
</main>
|
||||
<footer>
|
||||
<div>
|
||||
<h2>Association</h2>
|
||||
<a href="assets/Camp-Interhack_Statuts.pdf" target="_blank">statuts</a>
|
||||
<a href="assets/reglement-charte.pdf" target="_blank">règlement/charte</a>
|
||||
<a href="assets/Camp-Interhack_Statuts.pdf">statuts</a>
|
||||
</div>
|
||||
<div>
|
||||
<h2>Interhack</h2>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
const gauge_url = "https://api.camp.interhacker.space/api/gauge"
|
||||
const fundraising_url = "https://api.camp.interhacker.space/api/fundraising"
|
||||
const gaugeMax = 200;
|
||||
const fundraisingTotalMax = 13355.82;
|
||||
const fundraisingTotalMax = 20000;
|
||||
|
||||
async function getGauge() {
|
||||
// // REMOVE WHEN SIGNUP FORM IS OPEN
|
||||
|
|
|
|||
23
js/radio.js
23
js/radio.js
|
|
@ -1,23 +0,0 @@
|
|||
// Code Javascript pour la radio du Camp Interhack
|
||||
// Hébergé par P-Node
|
||||
// Propulsé par le Radio Operation Center
|
||||
// En live depuis l'Antenne
|
||||
|
||||
const radioPlayer = document.getElementById("radio-player");
|
||||
const audio = document.querySelector('audio');
|
||||
const radioButton = document.getElementById("radio-button");
|
||||
|
||||
let state = "paused" // Can be : "playing" or "paused"
|
||||
|
||||
radioPlayer.addEventListener('click', () => {
|
||||
if(state == "paused"){
|
||||
state = "playing";
|
||||
audio.play();
|
||||
radioButton.innerHTML = '<img src="assets/pause-solid-full.svg" alt="pause button">';
|
||||
|
||||
} else {
|
||||
state = "paused"
|
||||
audio.pause();
|
||||
radioButton.innerHTML = '<img src="assets/play-solid-full.svg" alt="play button">';
|
||||
}
|
||||
});
|
||||
47
manual-ci.sh
47
manual-ci.sh
|
|
@ -1,47 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
IMAGE="git.interhacker.space/interhack/camp-website-2026:latest"
|
||||
REGISTRY="git.interhacker.space"
|
||||
|
||||
need_cmd() {
|
||||
command -v "$1" >/dev/null 2>&1 || {
|
||||
echo "Missing required command: $1" >&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
need_cmd bash
|
||||
need_cmd wget
|
||||
need_cmd pandoc
|
||||
need_cmd docker
|
||||
|
||||
if [[ ! -x ./update-guide.sh ]]; then
|
||||
echo "Missing or non-executable ./update-guide.sh" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Generating guide.html"
|
||||
bash ./update-guide.sh
|
||||
|
||||
trap 'rm -f dist.zip' EXIT
|
||||
|
||||
echo "==> Downloading map bundle"
|
||||
wget -q -O dist.zip https://git.interhacker.space/epickiwi/2026.camp.carte/releases/download/latest/dist.zip
|
||||
|
||||
echo "==> Logging in to ${REGISTRY}"
|
||||
if [[ -n "${DOCKER_USERNAME:-}" && -n "${DOCKER_PASSWORD:-}" ]]; then
|
||||
printf '%s' "$DOCKER_PASSWORD" | docker login "$REGISTRY" --username "$DOCKER_USERNAME" --password-stdin
|
||||
else
|
||||
docker login "$REGISTRY"
|
||||
fi
|
||||
|
||||
echo "==> Building image: ${IMAGE}"
|
||||
docker build --no-cache -t "$IMAGE" .
|
||||
|
||||
echo "==> Pushing image: ${IMAGE}"
|
||||
docker push "$IMAGE"
|
||||
|
||||
rm -f dist.zip
|
||||
|
||||
echo "Done."
|
||||
|
|
@ -17,7 +17,6 @@
|
|||
<a href="index.html">maison</a>
|
||||
<a href="guide.html">guide</a>
|
||||
<a href="programme.html">programme</a>
|
||||
<a href="carte/">carte</a>
|
||||
<a href="poster.html" class="current">poster</a>
|
||||
<a href="contact.html">contact</a>
|
||||
</nav>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
<a href="index.html">maison</a>
|
||||
<a href="guide.html">guide</a>
|
||||
<a href="programme.html" class="current">programme</a>
|
||||
<a href="carte/">carte</a>
|
||||
<a href="poster.html">poster</a>
|
||||
<a href="contact.html">contact</a>
|
||||
</nav>
|
||||
|
|
@ -82,8 +81,7 @@
|
|||
<footer>
|
||||
<div>
|
||||
<h2>Association</h2>
|
||||
<a href="assets/Camp-Interhack_Statuts.pdf" target="_blank">statuts</a>
|
||||
<a href="assets/reglement-charte.pdf" target="_blank">règlement/charte</a>
|
||||
<a href="assets/Camp-Interhack_Statuts.pdf">statuts</a>
|
||||
</div>
|
||||
<div>
|
||||
<h2>Interhack</h2>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue