Compare commits
No commits in common. "main" and "fix/page-contact-lien-matrix" have entirely different histories.
main
...
fix/page-c
14 changed files with 23 additions and 139 deletions
|
|
@ -1,7 +1,4 @@
|
||||||
on:
|
on: [push]
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
|
|
@ -9,13 +6,27 @@ jobs:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
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
|
- name: Podman Login
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.DOCKER_PASSWORD }}" | podman login git.interhacker.space --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin
|
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: |
|
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 .
|
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
|
podman push git.interhacker.space/interhack/camp-website-2026:latest
|
||||||
|
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1 @@
|
||||||
guide.html
|
guide.html
|
||||||
dist.zip
|
|
||||||
|
|
|
||||||
13
Dockerfile
13
Dockerfile
|
|
@ -1,19 +1,6 @@
|
||||||
FROM docker.io/nginx:1.29-alpine
|
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
|
COPY *.html /usr/share/nginx/html
|
||||||
RUN mv guide.html /usr/share/nginx/html
|
|
||||||
COPY assets /usr/share/nginx/html/assets
|
COPY assets /usr/share/nginx/html/assets
|
||||||
COPY css /usr/share/nginx/html/css
|
COPY css /usr/share/nginx/html/css
|
||||||
COPY js /usr/share/nginx/html/js
|
COPY js /usr/share/nginx/html/js
|
||||||
|
|
|
||||||
|
|
@ -40,13 +40,11 @@ First, login to the Docker registry:
|
||||||
docker login git.interhacker.space
|
docker login git.interhacker.space
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, download the map bundle, build and push to the registry:
|
Then, build and push to the registry:
|
||||||
|
|
||||||
```bash
|
```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 build -t git.interhacker.space/interhack/camp-website-2026:latest .
|
||||||
docker push 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.
|
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 |
|
|
@ -17,7 +17,6 @@
|
||||||
<a href="index.html">maison</a>
|
<a href="index.html">maison</a>
|
||||||
<a href="guide.html">guide</a>
|
<a href="guide.html">guide</a>
|
||||||
<a href="programme.html">programme</a>
|
<a href="programme.html">programme</a>
|
||||||
<a href="carte/">carte</a>
|
|
||||||
<a href="poster.html">poster</a>
|
<a href="poster.html">poster</a>
|
||||||
<a href="contact.html" class="current">contact</a>
|
<a href="contact.html" class="current">contact</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
||||||
23
css/home.css
23
css/home.css
|
|
@ -157,26 +157,3 @@ font-size : 1.5em;
|
||||||
50% { background-position: 100% 50%; }
|
50% { background-position: 100% 50%; }
|
||||||
100% { background-position: 0% 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="index.html">maison</a>
|
||||||
<a href="guide.html" class="current">guide</a>
|
<a href="guide.html" class="current">guide</a>
|
||||||
<a href="programme.html">programme</a>
|
<a href="programme.html">programme</a>
|
||||||
<a href="carte/">carte</a>
|
|
||||||
<a href="poster.html">poster</a>
|
<a href="poster.html">poster</a>
|
||||||
<a href="contact.html">contact</a>
|
<a href="contact.html">contact</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
||||||
20
index.html
20
index.html
|
|
@ -10,7 +10,6 @@
|
||||||
<script src="js/drag.js" defer></script>
|
<script src="js/drag.js" defer></script>
|
||||||
<script src="js/progress.js" defer></script>
|
<script src="js/progress.js" defer></script>
|
||||||
<script src="js/pop.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">
|
<link rel="icon" type="image/x-icon" href="assets/stickers/ecran.png">
|
||||||
<title>Camp Interhack</title>
|
<title>Camp Interhack</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
@ -20,7 +19,6 @@
|
||||||
<a href="index.html" class="current">maison</a>
|
<a href="index.html" class="current">maison</a>
|
||||||
<a href="guide.html">guide</a>
|
<a href="guide.html">guide</a>
|
||||||
<a href="programme.html">programme</a>
|
<a href="programme.html">programme</a>
|
||||||
<a href="carte/index.html">carte</a>
|
|
||||||
<a href="poster.html">poster</a>
|
<a href="poster.html">poster</a>
|
||||||
<a href="contact.html">contact</a>
|
<a href="contact.html">contact</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
@ -111,7 +109,7 @@
|
||||||
<br>
|
<br>
|
||||||
<p>
|
<p>
|
||||||
C'est <b>complet</b> !
|
C'est <b>complet</b> !
|
||||||
<br>
|
<br>
|
||||||
Nous avons reçu en amont</p>
|
Nous avons reçu en amont</p>
|
||||||
<div class="places">
|
<div class="places">
|
||||||
<span class="bar">
|
<span class="bar">
|
||||||
|
|
@ -121,10 +119,10 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<p>des dons dont nous avons besoin.</p>
|
<p>des dons dont nous avons besoin.</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Merci !!
|
Merci !!
|
||||||
<br>
|
<br>
|
||||||
Et nous comptons sur vous pour continuer à vous mobiliser avant et durant le camp, pour que l'on puisse atteindre les 100% !
|
Et nous comptons sur vous pour continuer à vous mobiliser avant et durant le camp, pour que l'on puisse atteindre les 100% !
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
@ -194,16 +192,6 @@
|
||||||
<p>et bien d'autres !<br> Rejoignez le canal Matrix sur <code>#interhack:matrix.interhacker.space</code></p>
|
<p>et bien d'autres !<br> Rejoignez le canal Matrix sur <code>#interhack:matrix.interhacker.space</code></p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</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>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
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="index.html">maison</a>
|
||||||
<a href="guide.html">guide</a>
|
<a href="guide.html">guide</a>
|
||||||
<a href="programme.html">programme</a>
|
<a href="programme.html">programme</a>
|
||||||
<a href="carte/">carte</a>
|
|
||||||
<a href="poster.html" class="current">poster</a>
|
<a href="poster.html" class="current">poster</a>
|
||||||
<a href="contact.html">contact</a>
|
<a href="contact.html">contact</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
<a href="index.html">maison</a>
|
<a href="index.html">maison</a>
|
||||||
<a href="guide.html">guide</a>
|
<a href="guide.html">guide</a>
|
||||||
<a href="programme.html" class="current">programme</a>
|
<a href="programme.html" class="current">programme</a>
|
||||||
<a href="carte/">carte</a>
|
|
||||||
<a href="poster.html">poster</a>
|
<a href="poster.html">poster</a>
|
||||||
<a href="contact.html">contact</a>
|
<a href="contact.html">contact</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue