Mise à jour 2021

This commit is contained in:
Ronan 2021-07-28 22:03:33 +02:00
parent 28f3037be7
commit ac603ad6c9
60 changed files with 1387 additions and 271 deletions

View file

@ -2,7 +2,7 @@
Ce site, dont le but est d'accompagner les PPA, a été créé en 2017.
Version actuellement en ligne : **2020**.
Version actuellement en ligne : **2021**.
**Si vous êtes intéressés par le projet, merci de [lire le wiki.](https://git.etud.insa-toulouse.fr/vergnet/site-accueil-insa/wiki/Accueil)**
@ -21,4 +21,4 @@ Arnaud Vergnet (vergnet@etud.insa-toulouse.fr)
- Arthur BOIVERT (boivert@etud.insa-toulouse.fr)
- Cyprien HEUSSE (heusse@etud.insa-toulouse.fr)
- Ronan BONNET (rbonnet@etud.insa-toulouse.fr)

View file

@ -17,8 +17,8 @@ $relativePath = "../../";
<select id="teamSelect">
<option value="tam">Tamboom</option>
<option value="pek">Pekstanas</option>
<option value="boo">Boomiflore</option>
<option value="pek">Peksureau</option>
</select>
<div class="add-line">

View file

@ -1,17 +1,46 @@
<?php
error_reporting(E_ALL);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_WARNING);
ini_set('display_errors', 1);
require_once '../../classes/dao.php';
$rest_json = file_get_contents("php://input");
$_POST = json_decode($rest_json, true);
//var_dump($_POST);
if (isset($_GET['function']) || isset($_POST['function'])) {
if ($_GET['function'] == "save_map_info")
save_map_info();
elseif ($_POST['function'] == "update_website")
update_website();
} else
// if (isset($_GET['function']) || isset($_POST['function'])) {
// if ($_GET['function'] == "save_map_info")
// save_map_info();
// elseif ($_POST['function'] == "update_website")
// update_website();
// } else
// show_error();
if (isset($_REQUEST['function'])) {
switch($_REQUEST['function']) {
case 'save_map_info':
save_map_info();
break;
case 'create_building':
create_building();
break;
case 'delete_building':
delete_building();
break;
case 'get_map_selectors':
get_map_selectors();
break;
default :
show_error();
break;
}
} else {
show_error();
}
function save_map_info() {
if (isset($_GET['selector']) && isset($_GET['info'])) {
@ -23,6 +52,55 @@ function save_map_info() {
}
}
function get_map_selectors() {
header('Content-Type: application/json');
$dao = new Dao();
echo json_encode($dao->get_map_selectors());
}
/*
function is_in_map() {
if($_SERVER['REQUEST_METHOD'] === 'POST') {
show_error();
return;
}
$dao = new Dao();
$_REQUEST = array(
'selector' => $_REQUEST['info']['selector'],
);
$dao->is_in_map($_REQUEST['selector']);
}
*/
function create_building() {
if($_SERVER['REQUEST_METHOD'] === 'GET') {
show_error();
return;
}
$dao = new Dao();
$_REQUEST = array(
'title' => $_REQUEST['info']['title'],
'description' => $_REQUEST['info']['description'],
'selector' => $_REQUEST['info']['selector'],
);
var_dump($_REQUEST);
$dao->create_building($_REQUEST['title'], $_REQUEST['description'], $_REQUEST['selector']);
echo 'Réussite';
}
function delete_building() {
if($_SERVER['REQUEST_METHOD'] === 'GET') {
show_error();
return;
}
$dao = new Dao();
$_REQUEST = array(
'selector' => $_REQUEST['info']['selector'],
);
var_dump($_REQUEST);
$dao->delete_building($_REQUEST['selector']);
echo 'Réussite';
}
function update_website() {
// if (isset($_POST['login']) && isset($_POST['password'])) {
// $login = $_POST['login'];

View file

@ -3,7 +3,8 @@ ob_start(); // Start reading html
$relativePath = "../../";
require_once $relativePath . 'classes/dao.php';
?>
<div class="inner">
<div class="inner mapEdition">
<h1>ADMIN</h1>
<h2>Edition de la carte</h2>
@ -20,9 +21,12 @@ require_once $relativePath . 'classes/dao.php';
<label for="descriptionInput">Description</label>
<textarea rows="15" id="descriptionInput"></textarea>
<div class="save">
<div class="save getMapInfo">
<i class="fas fa-save"></i> Enregistrer
</div>
<div class="delete">
<i class="fas fa-trash"></i> Supprimer
</div>
<br>
<div class="buttons-container">
<a href="../index.php" class="admin-back-button">
@ -35,6 +39,22 @@ require_once $relativePath . 'classes/dao.php';
</div>
</div>
<div class="inner buildingManager">
<h2>Ajout d'un batiment</h2>
<input type="text" id="selectorInput">
<label for="titleInput">Titre</label>
<input type="text" id="titleInput">
<label for="descriptionInput">Description</label>
<textarea rows="15" id="descriptionInput"></textarea>
<div class="save addBuilding">
<i class="fas fa-save"></i> Enregistrer
</div>
</div>
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/adminEdit.css"/>

View file

@ -17,8 +17,8 @@ $relativePath = "../../";
<select id="teamSelect">
<option value="tam">Tamboom</option>
<option value="pek">Pekstanas</option>
<option value="boo">Boomiflore</option>
<option value="pek">Peksureau</option>
</select>
<div class="add-line">

View file

@ -9,6 +9,10 @@ if (isset($_GET['function'])) {
get_map_info();
elseif ($_GET['function'] == "get_activities_of_day")
get_activities_of_day();
elseif ($_GET['function'] == "get_enigma_code")
get_enigma_code();
elseif ($_GET['function'] == "get_plaquette_code")
get_plaquette_code();
} else
show_error();
@ -43,6 +47,186 @@ function get_activities_of_day() {
}
}
//
// Section pour les énigmes
//
function get_enigma_code() {
if (isset($_GET['code'])) {
$data = array(
"name" => $_GET['code'],
"info" => null,
);
switch ($_GET['code']) {
case '501432' :
$data["name"] = "enigme-1";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 1</h2>Code trouvé, reviens demain pour avoir la suite ;)";
} else {
$data["info"] = "<h2>Énigme 1</h2>
<p>Petit Pionnier Aguerri, dans l'arène, les déplacements des combattants sont tous enregistrés, voici le déplacement d'un combattant d'un district concurrant, à toi de le retrouver ! <br>
nord, nord, nord, est, sud-est, sud-ouest, ouest; <br>
ouest, sud, est, ouest, sud, est; <br>
ouest, sud, est, ouest, sud, est; <br>
est, est, est, ouest, sud, sud, sud; <br>
nord,nord,nord-est, , sud-est, sud, sud, nord, ouest; <br>
</p>";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case 'PEETA' :
$data["name"] = "enigme-2";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 2</h2>Code trouvé, reviens demain pour avoir la suite ;)";
} else {
$data["info"] = "<h2>Énigme 2</h2>Dès l'aube, un oiseau aux sifflements merveilleux fit son apparition sur l'arène de l'INSA";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case 'Lucy Gray Baird' :
$data["name"] = "enigme-3";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 3</h2><img src=\"assets/images/enigmes/Caesar.jpg\"></img>";
} else {
$data["info"] = "<h2>Énigme 3</h2>
<p>OaduaxmzgeEzai</p>
<img src=\"assets/enigmes/Caesar.jpg\"></img>";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case 'CoriolanusSnow' :
$data["name"] = "enigme-4";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 4</h2>
Code trouvé ! Parcours du site en cours...";
} else {
$data["info"] = "<h2>Énigme 4</h2>
Code trouvé ! Parcours du site en cours...
<p>Voilà plusieurs jours que tu parcours les énigmes, augmentons un peu la difficulté</p>";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case 'BCJLS' :
$data["name"] = "enigme-5";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 5</h2>
Code trouvé !";
} else {
$data["info"] = "<h2>Énigme 5</h2>
<p>N'aurais tu pas oublié quelque chose ?</p>";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case 'Théorème de Gauss' :
$data["name"] = "enigme-6";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 6</h2>
Code trouvé ! T'es turbo rapide toi !";
} else {
$data["info"] = "<h2>Énigme 6</h2>
<p>Quelle est la somme des lettres des solutions des deux dernières énigmes ? (ASCII)</p>";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case '2234' :
$data["name"] = "enigme-7";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 7</h2>
Code trouvé ! Tu es fort, je m'en vais créer de nouvelles énigmes encore plus difficiles..";
} else {
$data["info"] = "<h2>Énigme 7</h2>
<!--Katniss-->
<p>Entre deux épisodes, une idée m'est venue <a href=\"http://Ppmmpppppmpmmpppmfmppmffmppfpm\">.</a></p>";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case '1985281616' :
$data["name"] = "enigme-8";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 8</h2>
Code trouvé !";
} else {
$data["info"] = "<h2>Énigme 8</h2>
<!--<a href=\"assets/enigmes/crypto.py\">Courage</a>-->";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case 'BAILA' :
$data["name"] = "enigme-9";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 9</h2>
Code trouvé !";
} else {
$data["info"] = "<h2>Énigme 9</h2>
Il te reste toujours à déchiffrer ce code mystérieux ;)";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case 'Hacker la NASA en HTML' :
$data["name"] = "enigme-10";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 10</h2>
Code trouvé !";
} else {
$data["info"] = "<h2>Énigme 10</h2>
<p>Maintenant que tu as hacké la NASA en HTML et trouvé le code précédent,
dis moi quelle est la ville autour de Toulouse qui commence phonétiquement par le code précédent en verlant ? </p>";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
case 'Labège' :
$data["name"] = "enigme-11";
if($_GET['date'] < 1627221618 ) {
$data["info"] = "<h2>Énigme 11</h2>
Code trouvé !";
} else {
$data["info"] = "<h2>Énigme 11</h2>
<p>Petit rappel, va écouter la <a href=https://youtu.be/8Eapq5TOzn4\"\">musique</a> de JAG</p>";
}
echo json_encode($data, JSON_FORCE_OBJECT);
break;
default:
$data["name"] = null;
echo json_encode($data, JSON_FORCE_OBJECT);
break;
}
}
}
function get_plaquette_code() {
if (isset($_GET['code'])) {
$data = array(
"name" => $_GET['code'],
"info" => null,
);
switch ($_GET['code']) {
case 'onlyfan_420' :
$data["name"] = "onlyfan";
$data["info"] = "Go follow sur insta <a href=\"https://www.instagram.com/onlyfan_420/\">@onlyfan_420</a>";
echo json_encode($data, JSON_FORCE_OBJECT);
break;
default:
$data["name"] = null;
echo json_encode($data, JSON_FORCE_OBJECT);
break;
}
}
}
function show_error() {

View file

@ -15,6 +15,7 @@ body {
}
/* 2020 */
#finNormalEnigme{
font-size: 1.1rem;
text-align: right;
@ -69,6 +70,7 @@ body {
font-size: 1.2rem;
}
/* 2020 */
#finNormalEnigme{
font-size: 0.9rem;
}

View file

@ -66,14 +66,14 @@
font-size: 23px;
}
.score-tam {
color: #ff5f5f;
.score-boo {
color: #7cd43f;
background-size: auto 100%;
margin: 0 10px;
}
.score-pek {
color: #fafd78;
color: #9a89fd;
background-size: auto 100%;
margin: 0 10px;
}

View file

@ -16,34 +16,34 @@
border: none;
}
#title_tam {
color: #FF5F5F;
#title_boo {
color: #7cd43f;
}
#title_pek {
color: #fafd78;
color: #9a89fd;
}
.team-button#buttonTam {
color: #FF5F5F;
background-color: #4b1f1f;
.team-button#buttonBoo {
color: #7cd43f;
background-color: #35621e;
}
.team-button#buttonPek {
color: #fafd78;
background-color: #484b25;
color: #9a89fd;
background-color: #402559;
}
.team-button#buttonTam:hover {
color: #b30006;
background-color: #ff7d7f;
box-shadow: 0 0 10px #ff506d;
.team-button#buttonBoo:hover {
color: #35821e;
background-color: #7cf43f;
box-shadow: 0 0 10px #7c843f;
}
.team-button#buttonPek:hover {
color: #a28100;
background-color: #f7fd51;
box-shadow: 0 0 10px #fdf71e;
color: #402559;
background-color: #aaa9fd;
box-shadow: 0 0 10px #9a89dd;
}
.score-entry {

View file

@ -31,7 +31,7 @@ Theme Styles
@font-face {
font-family: Harry-P;
src: url('../fonts/kohlanta.ttf');
src: url('../fonts/hungergames.ttf');
}
@font-face {
font-family:manuscrit;
@ -92,13 +92,13 @@ footer p {
a {
text-decoration: none;
color: #e9b82f;
color: #dc4b33;
text-shadow: none;
transition: 0.3s;
}
a:hover, a:focus {
text-shadow: 0 0 4px #bd8a39;
text-shadow: 0 0 4px #691d05;
}
@ -165,6 +165,10 @@ td {
height: 270px;
}
.hidden {
display: none;
}
/*******************************************************************************
Full-Width Styles
*******************************************************************************/
@ -175,7 +179,7 @@ Full-Width Styles
.inner {
position: relative;
max-width: 900px;
max-width: 70%;
padding: 20px 10px;
margin: 0 auto;
}
@ -251,7 +255,7 @@ Full-Width Styles
}
#home-title {
width: 60%;
width: 20%;
margin: 0;
padding: 0;
}
@ -266,7 +270,7 @@ Full-Width Styles
}
.background {
background: url("../images/backgrounds/bg_up.png") no-repeat center fixed;
background: url("../images/backgrounds/bg_main.jpg") no-repeat center fixed;
background-size: cover;
position: fixed;
height: 100%;
@ -275,7 +279,7 @@ Full-Width Styles
}
.index-background {
background: url("../images/backgrounds/bg_up.png") no-repeat center fixed;
background: url("../images/backgrounds/bg_main.jpg") no-repeat center fixed;
background-size: cover;
}
@ -288,12 +292,12 @@ Full-Width Styles
}
#bg_pek {
background: url("../images/backgrounds/bg_pek.jpg");
background: url("../images/backgrounds/bg_peksu.jpg");
background-size: cover;
}
#bg_tam {
background: url("../images/backgrounds/bg_tam.jpg");
#bg_boom {
background: url("../images/backgrounds/bg_boomi.jpg");
background-size: cover;
}
@ -374,14 +378,16 @@ Full-Width Styles
.main-button {
background-color: #1a1a1a;
padding: 2px 2px 2px 2px;
padding: 3px 6px 3px 6px;
border-radius: 5px;
text-shadow: 0 0 5px #1c1c1c;
font-size: 25px;
color: #73b795;
color: #dc4b33;
box-shadow: 0 0 4px #000;
margin:2px;
}
/* 2020 */
#hideenigma{
color: #acacac;
@ -523,6 +529,88 @@ Full-Width Styles
text-shadow: 0 0 10px #bd8a39;
}
/* Map loading */
#loading-screen {
position: absolute;
z-index: 2;
/*top: 0; */
left: 0;
width: 100%;
height: 50%;
background-color: #000000;
opacity: 1;
transition: 1s opacity;
}
#loading-screen.fade-out {
opacity: 0;
}
.loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #9370DB;
-webkit-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
}
.loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #BA55D3;
-webkit-animation: spin 3s linear infinite;
animation: spin 3s linear infinite;
}
.loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FF00FF;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
/*******************************************************************************
Small Device Styles
*******************************************************************************/

BIN
assets/enigmes/Caesar.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

63
assets/enigmes/crypto.py Normal file
View file

@ -0,0 +1,63 @@
""" Created by Ronan Bonnet
On 23 July 2021, 02:51
Petite énigme pour les Phutures Programmeurs Aixpérimentés
Tip : réécrire le code en version + joli, c'est volontairement moche ;)
Bonus : Difficulté augmentée car j'ai oublié de sauvegarder la première fois que je l'ai fait :(
"""
unknown = "" # Le code que tu cherches se trouvait jadis ici..
key = "" # Je te laisse la trouver, si t'as un doute et que t'avances pas, envoie mp à @ronan.hpp sur Instagram
""" Chiffre un message en utilisant un algorithme fait par mes soins (si vous trouvez le nom de celui-ci je suis preneur)
On se Base sur la table ASCII dans le groupe des caractères Imprimables.
Renvoie le message chiffré
"""
def encode(msg):
res = ""
odd = []
fan = "ventilateur" # C'est Le mot en Anglais
for i in range(len(msg)):
odd += msg[i]
res += chr((sum(ord(ch) - 32 for ch in odd) + ord(key[i % len(key)]) - 32) % 92 + 32 )
return res
""" Déchiffre le message
...J'Ai déjà assez codé pour aujourd'hui, prend le relai !
Renvoie le message déchiffré
"""
def decode(msg):
res = ""
#
return res
"""
Immédiatement les résultats :
1.
Input : askip vous avez fait du Python au lycee
Output : .J>u(\qjZTZ=)RuzRRs*'zedb(e&sTa998/"%fAj
2.
Input : Trouve la clef et le message secret
Output : !<4w0Mh^:=*tOyB0r1UY_G30%X'5:{#>O>-
3.
Input : Je suis gentil, je vous laisse des exemples
Output : s%*k#DV\>*"tS'X]9=q*#oio]4a!yPk+/,#kmT7k$nS
4.
Input : Bon, ok, c'est pas facile...
Output : k'zt3ZdvmWdK4l5.]oGL7qaW>>0c
5.
Input : Mais la clef est simple!
Output : v$rWr::@zm\D6_{xfx=IC*ry
6.
Input :
Output : "9>m%QbQH2+mH,:6x7RR?"6<"U+GL!%QdSJ^VAzO]j5Cp/&^I86 LZ_25cc[9%x_C{DcQ8QSH(!'qH,#IjJ"&zq@zIgT
"""
code = str('"9>m%QbQH2+mH,:6x7RR?"6<"U+GL!%QdSJ^VAzO]j5Cp/&^I86 LZ_25cc[9%x_C{DcQ8QSH(!\'qH,#IjJ"&zq@zIgT')
print(decode(code))

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 KiB

View file

@ -7695,7 +7695,7 @@
y="876.03839"
x="-313.51654"
id="tspan5559-8-57"
sodipodi:role="line">GPE</tspan></text>
sodipodi:role="line">GP3E</tspan></text>
<text
transform="translate(535.13883,-752.60209)"
sodipodi:linespacing="125%"

Before

Width:  |  Height:  |  Size: 573 KiB

After

Width:  |  Height:  |  Size: 573 KiB

BIN
assets/images/map3D.glb Normal file

Binary file not shown.

View file

@ -1,16 +1,52 @@
$(document).ready(function () {
getMapInfo(getSelectedMap());
$(".save").click(function () {
$(".save.getMapInfo").click(function () {
let info = {};
info['title'] = $('#titleInput').val();
info['description'] = $('#descriptionInput').val();
info['title'] = $('.mapEdition #titleInput').val();
info['description'] = $('.mapEdition #descriptionInput').val();
let object = {
"function": 'save_map_info',
'selector': getSelectedMap(),
'info': info,
};
$.get(
"ajax.php",
object,
function (data) {
//console.log(data);
alert(data);
}
);
});
$(".addBuilding").click(function () {
let info = {};
info['title'] = $('.buildingManager #titleInput').val();
info['description'] = $('.buildingManager #descriptionInput').val();
info['selector'] = $('.buildingManager #selectorInput').val();
let object = {
"function": 'create_building',
'info': info,
};
//alert(JSON.stringify(object));
$.post(
"ajax.php",
object,
function (data) {
alert(data);
}
);
});
$(".mapEdition .delete").click(function() {
let info = {};
info['selector'] = getSelectedMap();
let object = {
"function": 'delete_building',
'info': info,
};
//alert(JSON.stringify(object));
$.post(
"ajax.php",
object,
function (data) {

342
assets/js/map3d.js Normal file
View file

@ -0,0 +1,342 @@
/* Map 3D
* 3D Model : Matthias Onestras
* Code : Ronan Bonnet
*
*/
import * as THREE from 'https://cdn.jsdelivr.net/npm/three@0.119.1/build/three.module.js';
import {
OrbitControls
} from 'https://cdn.jsdelivr.net/npm/three@0.119.1/examples/jsm/controls/OrbitControls.js';
import {
GLTFLoader
} from 'https://cdn.jsdelivr.net/npm/three@0.119.1/examples/jsm/loaders/GLTFLoader.js';
import {
RGBELoader
} from 'https://cdn.jsdelivr.net/npm/three@0.119.1/examples/jsm/loaders/RGBELoader.js';
var container, stats, controls;
var camera, scene, renderer;
var raycaster, mouse;
init();
render();
var height, width;
function init() {
container = document.createElement('div');
container.id = 'map3d';
height = document.querySelector('#maps').clientHeight;
width = document.querySelector('#maps').clientWidth;
var svg = document.querySelector('#maps #map');
document.querySelector('#maps').insertBefore(container, svg);
camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.75, 20000);
camera.position.set(500,1500,500);
scene = new THREE.Scene();
// LIGHTS
let sol = new THREE.AmbientLight(0x404040, 1.0);
scene.add(sol);
var hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444 );
hemiLight.position.set( 0, 20, 0 );
scene.add( hemiLight );
var dirLight = new THREE.DirectionalLight( 0xffffff );
dirLight.position.set( - 3, 10, - 10 );
scene.add( dirLight );
//scene.background = new THREE.Color( 0xff0000 );
raycaster = new THREE.Raycaster();
mouse = new THREE.Vector2()
// Loading screen
const loadingManager = new THREE.LoadingManager( () => {
const loadingScreen = document.getElementById('loading-screen');
loadingScreen.classList.add('fade-out');
loadingScreen.addEventListener('transitionend', onTransitionEnd);
});
var loader = new GLTFLoader(loadingManager);
loader.load('assets/images/map3D.glb', function(gltf) {
var object = gltf.scene;
gltf.scene.scale.set( 2, 2, 2 );
gltf.scene.position.x = 0; //Position (x = right+ left-)
gltf.scene.position.y = 0; //Position (y = up+, down-)
gltf.scene.position.z = 0;
scene.add(gltf.scene);
render();
});
renderer = new THREE.WebGLRenderer({
antialias: true,
});
renderer.setClearColor( 0x000000 );
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(width, window.innerHeight * 0.75);
renderer.toneMapping = THREE.ACESFilmicToneMapping;
renderer.toneMappingExposure = 1;
renderer.outputEncoding = THREE.sRGBEncoding;
container.appendChild(renderer.domElement);
var pmremGenerator = new THREE.PMREMGenerator(renderer);
pmremGenerator.compileEquirectangularShader();
controls = new OrbitControls(camera, renderer.domElement);
controls.addEventListener('change', render); // use if there is no animation loop
controls.minDistance = 0;
controls.maxDistance = 3500;
controls.enablePan = true;
controls.target.set(-110, 300, 0);
controls.maxPolarAngle = Math.PI/2.05;
controls.update();
// Load Light
var ambientLight = new THREE.AmbientLight( 0xcccccc );
scene.add( ambientLight );
var directionalLight = new THREE.DirectionalLight( 0xffffff );
directionalLight.position.set( 0, 1, 1 ).normalize();
scene.add( directionalLight );
window.addEventListener('resize', onWindowResize, false);
renderer.domElement.addEventListener('click', onClick, false); // Mouse
//renderer.domElement.addEventListener('mousemove', onMouseOver,false);
renderer.domElement.addEventListener('touchend', onTouchEnd, false); // Smartphone
}
// Return all the selectors in the database
function getSelectors() {
let info = {};
let object = {
"function": 'get_map_selectors',
'info': info,
}
return $.ajax({
url: 'admin/webmaster/ajax.php',
data: object,
method: 'get',
success: function(data){
}
});
}
/*
* Show a screen page if the building on which was clicked is in the database
* Display the name of the building and the description of the building
*/
function handleClickOnBuilding(x,y) {
mouse.x = x;
mouse.y = y;
raycaster.setFromCamera(mouse, camera);
var intersects = raycaster.intersectObjects(scene.children, true);
// If we clicked on a building
if (intersects.length > 0) {
console.log(intersects);
var selector = intersects[0].object.name.toString().toLowerCase();
// Wait for getSelectors() to be done
// If we do not wait, everything will be executed before checking what is inside the database
$.when(getSelectors().done(function(data) {
if (data.map(x => x.selector).includes(selector)){
// Use the same thing as the one for the 2D map
$.alert({
title: 'Chargement...',
content: function () {
let self = this;
let object = {
"function": 'get_map_info',
'selector': selector,
};
return $.ajax({
url: 'ajax/read',
data: object,
method: 'get'
}).done(function (data) {
if (data.length > 0) {
self.setTitle(data[0]['title']);
self.setContent(data[0]['description']);
} else {
self.setTitle('Erreur');
self.setContent('Une erreur est survenue')
return;
}
}).fail(function(){
self.setContent('Something went wrong.');
});
},
});
} else {
}
}));
}
}
//
// When the user clicks on a building with a mouse
//
function onClick() {
event.preventDefault();
height = document.querySelector('#maps').clientHeight;
width = document.querySelector('#maps').clientWidth;
const rect = renderer.domElement.getBoundingClientRect();
mouse.x = ( ( event.clientX - rect.left ) / ( rect.right - rect.left ) ) * 2 - 1;
mouse.y = - ( ( event.clientY - rect.top ) / ( rect.bottom - rect.top) ) * 2 + 1;
handleClickOnBuilding(mouse.x, mouse.y);
}
//
// When the user clicks on a building on a smartphone
//
function onTouchEnd() {
var clientX, clientY;
clientX = event.changedTouches[0].clientX;
clientY = event.changedTouches[0].clientY;
const rect = renderer.domElement.getBoundingClientRect();
mouse.x = ( ( clientX - rect.left ) / ( rect.right - rect.left ) ) * 2 - 1;
mouse.y = - ( ( clientY - rect.top ) / ( rect.bottom - rect.top) ) * 2 + 1;
handleClickOnBuilding(mouse.x, mouse.y);
}
function onMouseOver() {
event.preventDefault();
height = document.querySelector('#maps').clientHeight;
width = document.querySelector('#maps').clientWidth;
const rect = renderer.domElement.getBoundingClientRect();
mouse.x = ( ( event.clientX - rect.left ) / ( rect.right - rect.left ) ) * 2 - 1;
mouse.y = - ( ( event.clientY - rect.top ) / ( rect.bottom - rect.top) ) * 2 + 1;
createTextOverBuilding(mouse.x,mouse.y)
}
function createTextOverBuilding(x,y) {
mouse.x = x;
mouse.y = y;
raycaster.setFromCamera(mouse, camera);
var intersects = raycaster.intersectObjects(scene.children, true);
// If we clicked on a building
if (intersects.length > 0) {
console.log(intersects);
}
}
function makeLabelCanvas(baseWidth, size, name) {
const borderSize = 2;
const ctx = document.createElement('canvas').getContext('2d');
const font = `${size}px bold sans-serif`;
ctx.font = font;
// measure how long the name will be
const textWidth = ctx.measureText(name).width;
const doubleBorderSize = borderSize * 2;
const width = baseWidth + doubleBorderSize;
const height = size + doubleBorderSize;
ctx.canvas.width = width;
ctx.canvas.height = height;
// need to set font again after resizing canvas
ctx.font = font;
ctx.textBaseline = 'middle';
ctx.textAlign = 'center';
ctx.fillStyle = 'blue';
ctx.fillRect(0, 0, width, height);
// scale to fit but don't stretch
const scaleFactor = Math.min(1, baseWidth / textWidth);
ctx.translate(width / 2, height / 2);
ctx.scale(scaleFactor, 1);
ctx.fillStyle = 'white';
ctx.fillText(name, 0, 0);
const labelBaseScale = 0.01;
const label = new THREE.Sprite(labelMaterial);
scene.add(label);
label.position.y = head.position.y + headRadius + size * labelBaseScale;
label.scale.x = canvas.width * labelBaseScale;
label.scale.y = canvas.height * labelBaseScale;
return ctx.canvas;
}
//
// Auto-resize the canvas
//
function onWindowResize() {
height = document.querySelector('#main-content .inner').clientHeight;
width = document.querySelector('#main-content .inner').clientWidth;
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(width * 0.9, window.innerHeight * 0.75);
render();
}
function render() {
renderer.render(scene, camera);
}
/*
* When the model finished loading
*/
function onTransitionEnd( event) {
event.target.remove();
}

View file

@ -7,9 +7,9 @@ let entryTemplate =
function nameTeam(team){
if (team==='pek')
return "Pekstanas";
else if (team==='tam')
return "Tamboom";
return "Peksureau";
else if (team==='boo')
return "Boomiflore";
}
function showScores(team) {
console.log(team);

BIN
assets/pdf/Enigma_PDF.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -4,87 +4,96 @@ ob_start(); // Start reading html
<div class="inner">
<h1>La Blouse</h1>
<p>Salut à toi Prétendant aux Poteaux Abominables !</p>
<p>Te voilà arrivé à la partie la plus importante de la plaquette. Et oui, même sil ne
tarrive pas par la mer, ce mot est bien le parchemin te donnant les règles de ta toute
première épreuve : la Blouse… que dis-je ? TA Blouse ! Ce que tu vas lire dans les prochains
paragraphes va texpliquer comment confectionner ta pièce d'identité Insaïenne pour les 5
années à venir (voire plus si affinité…).
En tant que bon aventurier, tu ne viendras pas vêtu dun simple maillot de bain, bah
ouais, les coups de soleil ça ne pardonne pas ! Heureusement pour toi, il est à lINSA une
tradition ancestrale à laquelle tu néchapperas pas : la Blouse. En plus de te protéger, elle
sera l'accessoire qui TE représente toi et ta promo.</p>
<p>Ainsi sur lÎle Nicoya Sauvage et Aride toulousaine tu pourras croiser différents spécimens :
<p>Salut à toi Petit Paneméen Astucieux,!</p>
<p>Te voilà en train de lire la partie la plus intéressante, que dis-je, la partie la plus IMPORTANTE
de la plaquette ! Tu as été tiré au sort pour participer aux prochains INSA Games, et pas nimporte
lesquels ! Cette année, une tradition ancestrale a été perpétuée : <strong>la Blouse</strong>.
Nous allons donc tinitier à lart de confectionner la plus belle des blouses qui te suivra tout au long
de tes 5 ans (ou éventuellement plus, mais on va pas te spoiler...). Celle qui te fera peut-être remporter
le titre tant convoité de Vainqueur des jeux... euuuh Miss et Mister Blouse !
Comme tout bon tribut qui se respecte, tu viendras dès le premier jour paré de ton habit de
combat qui ne te servira pas seulement à être aussi badass que Katniss mais surtout à te représenter
toi et TA PROMO (parce que tu aimes beaucoup ta promo).</p>
<p>A lINSAAAAA Touuuulouse (oups on est en train de ségarer) tu pourras rencontrer :
<ul id="list-blouse">
<li>Les sorciers que nous sommes aux couleurs des 4 maisons dHarry Potter.</li>
<li>Les aventuriers de Koh-LINSA en jaune et rouge (ou rouge et jaune pour ceux qui préfèrent)
que nous sommes.</li>
<li>Les sorciers que nous sommes aux couleurs des 4 maisons dHarry Potter. (aussi connus comme tes futurs
grands-parrains).</li>
<li>Les soldats de la Guerre froide de la promo 56 en Bleu Galactique et en Rouge
Intersidéral.</li>
<li>Et toutes les autres tribus que nous te laisserons découvrir.
A ton tour, tu vas devoir créer ton passeport daventurier pour te lancer dans ces
grandes péripéties. Il est primordial que tu arrives avec ta blouse décorée à la rentrée. Tu la
porteras durant toute la semaine daccueil ainsi que lors de tous tes futurs TPs. Mais pas de
panique ! Cest trivial, Miss et Mister Blouse 2019 vont tout texpliquer, et à la fin, tu adoreras
Lacouture.
Maintenant que tu as été accepté à lINSA, Denis ta attribué une équipe.</li>
<li>Si ta plaquette est jaune comme le soleil du Costa Rica, tu appartiens à léquipe des
Pekstanas.</li>
<li>Si par contre elle est rouge comme le corail des mers tropicales, alors tu fais partie
de léquipe des Tamboom.
Fort de cette information, voilà ce que tu dois faire.</li>
<li>Récupère ta blouse blanche de chimie du lycée ou procures-en toi une nouvelle.</li>
<li>Teins ton vêtement aux couleurs de ton équipe : jaune flamboyant pour les
Pekstanas, rouge écarlate pour les Tamboom.</li>
<li>Décore ta blouse sur le thème de Koh-Lanta, donc en rapport avec lémission, les
tropiques, laventure, Denis Brogniart... Tu as compris lidée.</li>
Intersidéral.</li>
<li>Dautres types de spécimens quon te laisse le plaisir de découvrir.
</ul></b>
<p>Cest maintenant à ton tour de réaliser cette œuvre dart, ce chef dœuvre avec lequel tu
arriveras à la rentrée. Toute la semaine durant, tu devras en être vêtu, il en sera de même lors de tes
TP et tu ne pourras PAS déroger à la règle si tu ne veux pas tattirer les foudres des Grands Dirigeants
Adoré et leurs malus.
<p></p>
Alors hop hop hop, on se retrousse les manches, on prend un fil, une aiguille et on lit
attentivement les lignes qui suivent car elles vont déterminer tes chances de devenir Miss ou Mister
Blouse.
</p><p>
Maintenant que tu as été accepté à lInstitut pour Nouveaux tributs Sans Angoisses, une tâche très
importante tattend, on oublie les sorties à droite, à gauche et on se concentre sur notre véritable
passion : La couture !!!
</p>
<ul>
<li><strong>Récupère ta blouse blanche</strong> de chimie ou procures-en toi une nouvelle (jusque- ça va).</li>
<li><strong>Teins aux véritables couleurs de ton équipe</strong> (les roses on vous aime quand même), cest-
à-dire, <strong>vert flamboyant si tu es <strong class="score-boo">BOOMIFLORE</strong> et violet intense pour <strong class="score-pek">PEKSUREAU</strong></strong> .</li>
<li>Décore ta blouse selon le thème des <strong>INSA Games</strong> et de ton équipe.</li>
</ul>
<b><strong>Mais attention ! Tu ne peux pas faire nimporte quoi, il y a des règles à respecter si tu
ne veux pas rester coincé à laéroport !</strong></p>
<h3>Les 5 commandements de la Blouse :</h3>
<h3>Les 5 commandements de la Blouse :</h3>
<p><ul id="list-blouse">
<li>Uniquement de fils et daiguilles tu tarmeras.</li>
<li>Par toi-même orner ta blouse tu devras, laide de maman, papa, mamie ou papi tu ne
<li>Uniquement <strong>de fils et daiguilles</strong> tu tarmeras.</li>
<li><strong>Par toi-même</strong> orner ta blouse tu devras, laide de maman, papa, mamie ou papi tu ne
demanderas donc pas. Eh oui, on y est tous passés, à ton tour maintenant !</li>
<li>Pas de marqueurs ou de feutres tu nutiliseras, ils sont réservés aux Grands Denis
Avertis que nous sommes, pour toctroyer bonus ou malus ainsi que des tags,
comme le veut la tradition !</li>
<li><strong>Pas de marqueurs ou de feutres</strong>, ils sont réservés aux Géniaux Donneurs dAvis que nous sommes
pour toctroyer bonus ou malus ainsi que des tags comme le veut la tradition.</li>
<li>Comme sur le schéma qui suit, et avec ces consignes, ta blouse tu décoreras :<br>
- Sur le devant on veut voir ton prénom, le blason et le nom de ton bled
dorigine.<br>
- À larrière, tu mettras ton surnom (en gros et bien visible) et “INSA 58 en
TRÈS gros, car tu aimes ta promo.<br>
- Quant aux espaces vides, aux poches et aux manches, il faudra les combler
de broderies et fantaisies, cousues sur le thème de Koh-Lanta et de ton
équipe.</li>
<li>Créatif et original tu seras, des bonus à la clé il y aura. Et bien-sûr, faire preuve
- Sur le <strong>devant</strong> on veut voir <Strong>ton prénom, le blason et le nom de ton bled
dorigine</Strong>.<br>
- À <strong>larrière</strong>, tu mettras ton <strong>surnom (en gros et bien visible) et “INSA 59 en
TRÈS gros</strong>, car tu aimes ta promo.<br>
- Quant aux espaces vides, aux poches et aux manches, il faudra les <strong>combler
de broderies et fantaisies</strong>, cousues sur le thème des INSA GAMES et de TON DISTRICT.</li>
<li>Créatif et original tu seras, <Strong>des bonus à la clé il y aura</strong>. Et bien-sûr, faire preuve
dhumour tu noublieras pas ! Et on ne le dira jamais assez . GARE AUX
TRICHEURS !
Voilà un exemple illustratif de ta blouse après customisation, le but étant de sen inspirer
mais pas de la reproduire…</li>
<img src="assets/images/blouse/blouse_exemple.png" alt="Exemple blouse">
</ul></p>
<img src="assets/images/blouse/Blouses.png" alt="Exemple blouse" style="max-height:30rem;">
<p>Tu sais désormais tout sur cette première épreuve. Alors, comme dirait Denis,
« LAVENTURE COMMENCE MAINTENANT ! » Applique-toi bien ! Car qui sait ? Tu seras
peut-être élu Miss ou Mister Blouse, au terme dun concours épique entre les meilleurs
couturiers de lîle !
“À la fin il nen restera quun ! (Je sais Jim… Tu nas pas fait de faux départ, mais
lhistoire devait sécrire ainsi.)</p>
<p>Applique-toi bien, car ce sera peut-être le seul
titre de Miss ou Mister que tu obtiendras dans ta
vie (rip), au terme dun concours épique entre les
meilleurs couturiers de larène.
« A la fin, il nen restera quun ! » mince ça cétait
le thème de lannée dernière...
<br>
Joyeux INSA Games, et puisse le sort têtre
favorable ! *sifflement du Geai moqueur*</p>
<p>
<h3>
Pour te motiver, voici ce que notre Miss Blouse avait fait l'annee derniere :
Pour te motiver, voici ce que notre Miss Blouse avait fait l'année dernière :
</h3>
<img src="assets/images/blouse/blouse_devant_elsa.jpg" alt="Blouse Elsa devant">
<img src="assets/images/blouse/blouse_derriere_elsa.jpg" alt="Blouse Elsa dos">
<img src="assets/images/blouse/blouse_devant_maeva.jpg" alt="Blouse Maeva devant">
<img src="assets/images/blouse/blouse_derriere_maeva.jpg" alt="Blouse Maeva dos">
<h3>
Et voici la blouse de notre Mister Blouse :
</h3>
<img src="assets/images/blouse/blouse_devant_matthieu.jpg" alt="Blouse Matthieu devant">
<img src="assets/images/blouse/blouse_derriere_matthieu.jpg" alt="Blouse Matthieu dos">
<img src="assets/images/blouse/blouse_devant_nathan.jpg" alt="Blouse Nathan devant">
<img src="assets/images/blouse/blouse_derriere_nathan.jpg" alt="Blouse Nathan dos">
</div>

32
boomiflore.php Normal file
View file

@ -0,0 +1,32 @@
<?php
ob_start(); // Start reading html
?>
<div class="inner">
<h1>Boomiflore</h1>
<p>
Bien le bonjour Passifloréen.ne Passionné.e Acharné.e,
Bienvenue dans L'ÉQUIPE LA PLUS QUALI (appellation d'origine certifiée)!
Au cours des prochaines semaines, toi et tes camarades amateurs de Passiflore devrez lutter contre un adversaire de taille: les PEKSURAU, AKA les jolies violettes.
Mais ne vous laissez pas berner par leur apparence... Ils représentent peut-être notre belle ville rose, mais que serait une plante sans ses racines et sa mignonne tige VERTE.
Alors sois prêt à les rendre verts de rage ! Qu'ils osent se frotter à nos terribles épines aiguisées.
Je compte sur TOI ! Ensemble nous triompherons de ces INSA GAMES.
Et rappelles-toi:
Tu es boomiflore, favorable te sera le sort
</p>
<p>
N'oublie pas de rejoindre ton groupe <a href="https://www.facebook.com/groups/676054133231881"> Facebook</a>
et de colorer ta blouse en un <strong style="color: #7cd43f;">Vert Surnaturel</strong> !
</p>
<br/>
Signé Eva
<br/>
<!--
<img style="max-width: 300px" src="assets/images/teams/tamboom.jpg"></div>
-->
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$customBackgroundId = "bg_boom";
$pageTitle = "Boomiflore";
include("includes/template.php"); // Display template with variable content
?>

View file

@ -1,24 +1,47 @@
<?php
ob_start(); // Start reading html
?>
<div class="inner">
<h1>Les chansons</h1>
A l'INSA, Toulouse, les chansons sont très importantes, vous allez en chanter beaucoup et très fort pendant votre semaine d'intégration.
Pour que tu sois prêt pour cette semaine et pour l'entièreté de ta vie étudiante, on pense que c'est important que tu connaisses les chansons suivantes:
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/gEPCrrLNfoI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/FU-9kt-qi1g" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/PnFNYo9VHAM" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/_YXjuDdcH3g" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br><br>
</div>
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$pageTitle = "Les chansons";
include("includes/template.php"); // Display template with variable content
<?php
ob_start(); // Start reading html
?>
<div class="inner">
<h1>Les chansons</h1>
A l'INSA, Toulouse, les chansons sont très importantes, vous allez en chanter beaucoup et très fort pendant votre semaine d'intégration.
Pour que tu sois prêt pour cette semaine et pour l'entièreté de ta vie étudiante, on pense que c'est important que tu connaisses les chansons suivantes:
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/8Eapq5TOzn4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/bpEmjxobvbY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/zD80w-mPrKw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/_YXjuDdcH3g" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br><br>
</div>
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$pageTitle = "Les chansons";
include("includes/template.php"); // Display template with variable content
?>

View file

@ -71,6 +71,14 @@ class Dao
$cursor = $this->conn->prepare($sql);
$cursor->execute([$info_json['title'], $info_json['description'], $selector]);
}
public function is_in_map($selector) {
$sql = 'SELECT selector FROM map_insa WHERE selector = ?';
$query = $this->conn->prepare($sql);
$query->execute([$selector]);
return $query->fetchAll(PDO::FETCH_ASSOC);
}
public function get_activities_of_day($day)
{
@ -92,6 +100,28 @@ class Dao
$cursor->execute([$value['day'], $value['small_title'], $value['full_title'], $value['description'], $value['color'], $value['start'], $value['length']]);
}
}
public function create_building($title, $description, $selector) {
$sql = 'INSERT INTO map_insa (title, description, selector) VALUES(:title, :description, :selector)';
//var_dump($title, $description, $selector);
$query = $this->conn->prepare($sql);
$query->execute(array(
':title' => $title,
':description' => $description,
':selector' => $selector,
));
//var_dump($query->errorInfo());
return $query->fetch(PDO::FETCH_ASSOC);
}
public function delete_building($selector) {
$sql = 'DELETE FROM map_insa WHERE selector=?';
//var_dump($selector);
$query = $this->conn->prepare($sql);
$query->execute([$selector]);
//var_dump($query->errorInfo());
return $query->fetch(PDO::FETCH_ASSOC);
}
}

137
coms.php
View file

@ -8,106 +8,109 @@ ob_start(); // Start reading html
<?php
$comId = "";
$comTitle = "Le Prez et la Vice Prez";
$comRespo = "Maixent Cassagne";
$comRespoId = "mcassagn@etud.insa-toulouse.fr";
$comRespo2 = "Axelle Robillard";
$comRespo2Id = "robillar@etud.insa-toulouse.fr";
$comRespo = "Armand Carraz Billat";
$comRespoId = "armandcarraz@gmail.com";
$comRespo2 = "Eva Serdimet";
$comRespo2Id = "eva@serdimet.com";
include("includes/com_template.php");
$comId = "Bureau1";
$comTitle = "Le Bureau pt.1";
$comRespo = "Nicolas Birkeland<br>Secrétaire";
$comRespoId = "birkelan@etud.insa-toulouse.fr";
$comRespo2 = "Lea Steyer<br>Trésorière";
$comRespo2Id = "steyer@etud.insa-toulouse.fr";
$comRespo = "Jules Carvalho<br>Secrétaire";
$comRespoId = "julescarvalho16@gmail.com";
$comRespo2 = "Laura Maumus<br>Trésorière";
$comRespo2Id = "laura.maumus@icloud.com";
include("includes/com_template.php");
$comId = "Bureau2";
$comTitle = "Le Bureau (la suite)";
$comRespo = "Matthieu Tavernier<br>Responsable WINI";
$comRespoId = "m_tavern@etud.insa-toulouse.fr";
$comRespo2 = "Lou Ann Lacassagne<br>Responsable Communication";
$comRespo2Id = "lalacass@etud.insa-toulouse.fr";
$comRespo = "Emilie Combres<br>Responsable WINI";
$comRespoId = "combres.emilie@gmail.com";
$comRespo2 = "Louise Dinnat<br>Responsable Communication";
$comRespo2Id = "louise.dinnat54@gmail.Com";
include("includes/com_template.php");
$comId = "ComAnimaventure";
$comTitle = "Com Animaventure";
$comRespo = "Lea Pleynet";
$comRespoId = "pleynet@etud.insa-toulouse.fr";
$comRespo2 = "Cyril Moquay";
$comRespo2Id = "moquay@etud.insa-toulouse.fr";
$comId = "ComAnim";
$comTitle = "Com' Ceasar";
$comRespo = "Gabrielle Sipos";
$comRespoId = "gaby1919s@gmail.com";
$comRespo2 = "Esteban Sellies";
$comRespo2Id = "estebansellies@gmail.com";
include("includes/com_template.php");
$comId = "Com Immunité";
$comTitle = "Com Immunité";
$comRespo = "Solène Bourguet";
$comRespoId = "sbourguet@laposte.net";
$comRespo2 = "Ayoub Bahi";
$comRespo2Id = "bahi@etud.insa-toulouse.fr";
$comId = "ComPrev";
$comTitle = "Com' Survie";
$comRespo = "Alexandre Masson";
$comRespoId = "masson.alex42240@gmail.com";
$comRespo2 = "Nina Moser";
$comRespo2Id = "nina.moser.tls@gmail.com";
include("includes/com_template.php");
$comId = "Kohmvile";
$comTitle = "Kohmvile";
$comRespo = "Loann Valton";
$comRespoId = "loann.valton@sfr.fr";
$comRespo2 = "Elorri Laxague";
$comRespo2Id = "elaxague@etud.insa-toulouse.fr";
include("includes/com_template.php");
$comId = "KohmBene";
$comTitle = "Kohm Béné";
$comRespo = "Clément Guichard";
$comRespoId = "guichardclement@outlook.fr";
$comRespo2 = "Eliot Drou";
$comRespo2Id = "eliotd33wxcvbn@gmail.com";
$comId = "ComVille";
$comTitle = "Com' 13 - Les naufragés de la semaine";
$comRespo = "Emma Labourbe";
$comRespoId = "emma.labbus@gmail.com";
$comRespo2 = "Corentin Kuhn";
$comRespo2Id = "cocokuhn2002@gmail.com";
include("includes/com_template.php");
$comId = "ComOrientINSA";
$comTitle = "Com OrientINSA";
$comRespo = "Solène Delran";
$comRespoId = "delran@etud.insa-toulouse.fr";
$comRespo2 = "Antonin Lezat";
$comRespo2Id = "lezat@etud.insa-toulouse.fr";
$comTitle = "Com' 13 - Les naufragés de la semaine (suite)";
$comRespo = "Mathilde Regnier";
$comRespoId = "mat.regnier12@gmail.com";
$comRespo2 = "Zoé Ermine";
$comRespo2Id = "ermine.zoe@orange.fr ";
include("includes/com_template.php");
$comId = "ComBene";
$comTitle = "Com' Hovercraft";
$comRespo = "Joëy Panizzi";
$comRespoId = "joeypanizzi@icloud.com";
$comRespo2 = "Lise Pihan";
$comRespo2Id = "lise.pihan@gmail.com";
include("includes/com_template.php");
$comId = "ComRavitaillement";
$comTitle = "Com Ravitaillement";
$comRespo = "Zazie Gardeau";
$comRespoId = "zazie.gardeau@hotmail.fr";
$comRespo2 = "Justin Lombard";
$comRespo2Id = "jlombard@etud.insa-toulouse.fr";
$comTitle = "Com' Sponsor";
$comRespo = "Sarah Fridi";
$comRespoId = "sarahfri@wanadoo.fr";
$comRespo2 = "Ignacio Del Campo";
$comRespo2Id = "ignacioluis.delcampo.sanchez@gmail.com";
include("includes/com_template.php");
$comId = "ComMoundir";
$comTitle = "Com Moundir";
$comRespo = "Jim Noirbuisson";
$comRespoId = "jim.noirbusson@gmail.com";
$comRespo2 = "Liloï Lourde Rocheblave";
$comRespo2Id = "liloilourderocheblave@gmail.com";
$comId = "ComParrainage";
$comTitle = "Com' Haymitch";
$comRespo = "Lili André";
$comRespoId = "liliandre620@gmail.com";
$comRespo2 = "Elsa Salvy";
$comRespo2Id = "salvyelsa@gmail.com";
include("includes/com_template.php");
$comId = "ComPhoto";
$comTitle = "Com Photo";
$comRespo = "Pauline Dupuy";
$comRespoId = "dupuypauline38@gmail.com";
$comTitle = "Com' TV";
$comRespo = "Alice Gardy";
$comRespoId = "gardy@etud.insa-toulouse.fr";
$comRespo2 = "";
$comRespo2Id = "";
include("includes/com_template.php");
$comId = "ComGraphisme";
$comTitle = "Com Graphisme";
$comRespo = "Cyprien Heusse";
$comRespoId = "cyprien@heusse.com";
$comRespo2 = "Naïs Pistre";
$comRespo2Id = "pistre@etud.insa-toulouse.fr";
$comTitle = "Com' Cinna";
$comRespo = "Clément Jeanjean";
$comRespoId = "clemjj@orange.fr";
$comRespo2 = "Lila Frauciel";
$comRespo2Id = "frauciel@etud.insa-toulouse.fr";
include("includes/com_template.php");
$comId = "ComPlaquette";
$comTitle = "Com Plaquette";
$comRespo = "Lucie Blosse";
$comRespoId = "lucie.blosse@gmail.com";
$comRespo2 = "Sarah Bobillot";
$comRespo2Id = "sarahbobillot04@gmail.com";
$comTitle = "Com' Plaquette";
$comRespo = "Kevin Barge";
$comRespoId = "kevin.barge@protonmail.com";
$comRespo2 = "Quentin Leroi";
$comRespo2Id = "qleroi@orange.fr";
include("includes/com_template.php");
?>

View file

@ -7,17 +7,26 @@ ob_start(); // Start reading html
<ul>
<li>
<a href="assets/pdf/Plaquette-INSA-2020-Promo-58.pdf">La plaquette</a>
<a href="assets/pdf/Plaquette-INSA-2021-Promo-59.pdf">La plaquette</a>
</li>
<li>
<a href="assets/pdf/Fiche-Parrainge.pdf">La fiche de parrainage</a>
<a href="assets/pdf/Fiche-Parrainage.pdf">La fiche de parrainage</a>
</li>
<!--
<li>
<a href="assets/pdf/Charte-GB.pdf">La charte gestes barrières</a>
</li>
-->
<!--
<li>
<a href="assets/pdf/Fiche-Autorisation-Droit-Image.pdf">La charte de droit à l'image</a>
</li>
-->
<!--
<li>
<a href="assets/pdf/Enigma_PDF.pdf">L'énigme que tu cherchais tant</a>
</li>
-->
</ul>
</div>

64
enigma.php Normal file
View file

@ -0,0 +1,64 @@
<?
ob_start(); // Start reading html
?>
<div class="inner">
<h1>Enigma</h1>
</div>
<!--
Test résultats : -->
<!-- 012345 -->
<!-- chasse aux lancée. est codes La
-->
<label for="enigma">Solution</label>
<input type="text" id="enigma" name="enigma">
<button onclick="getCode()">Envoyer</button>
<div class="" id="enigma-result">
</div>
<script>
function getCode() {
let code = document.querySelector('#enigma').value;
let date = Date.now() / 1000;
let object = {
"function": 'get_enigma_code',
'code': code,
'date': date,
}
return $.ajax({
url: 'ajax/read',
data: object,
method: 'get',
success: function(data){
data = JSON.parse(data);
let div = document.querySelector('#enigma-result');
if(data['name'] !== null) {
if (document.querySelector('#' + data['name']) === null) {
let container = document.createElement('div');
container.id = data['name'];
container.innerHTML = data['info'];
div.append(container);
} else {
let container = document.querySelector('#' + data['name'])
container.innerHTML = data['info'];
}
}
//console.log(data);
}
});
}
</script>
<?php
?>
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$pageTitle = "Enigma";
include("includes/template.php"); // Display template with variable content
?>

View file

@ -1,5 +1,5 @@
<p class="copyright">
Site de la semaine d'accueil 2020 pour l'INSA Toulouse
Site de la semaine d'accueil 2021 pour l'INSA Toulouse
</p>
<p class="copyright">
Tous les éléments présents sur ce site sont représentés à des fins humoristiques. Nous ne cherchons en aucun
@ -9,8 +9,8 @@
Ce site utilise <a href="https://matomo.org/">Matomo</a> pour analyser la fréquentation de manière anonyme. Rendez-
vous sur la page <a href="<?= $relativePath ?>info.php">Infos</a> pour plus de détails.
</p>
<p class="copyright">Contacter <a href='<?= $relativePath ?>info.php#maixent'>Maixent, le responsable de la semaine</a>, pour plus d'informations</p>
<p class="copyright"> Site maintenu par <a href='<?= $relativePath ?>info.php#cyprien'>Cyprien Heusse</a></p>
<p class="copyright">Contacter <a href='<?= $relativePath ?>info.php#Armand'>Armand, le responsable de la semaine</a>, pour plus d'informations</p>
<p class="copyright"> Site maintenu par <a href='<?= $relativePath ?>info.php#ronan'>Ronan Bonnet</a></p>
<p class="copyright">
<script type="text/javascript">
var d = new Date();

View file

@ -1,10 +1,10 @@
<div class="score-counter" id="<?= $platformID ?>">
<img class="title-image" src="<?= $relativePath ?>assets/images/logos/titre-site-accueil.png">
<img class="title-image" src="<?= $relativePath ?>assets/images/logos/logo_titre2.png">
<div class="score-container">
<a href="<?= $relativePath ?>stats.php">
<div class="score-tam">
<?= $scoreTam ?>
<div class="score-boo">
<?= $scoreBoo ?>
</div>
<div class="score-separator"></div>
<div class="score-pek">

View file

@ -10,5 +10,5 @@ function get_total_points($team)
return $points;
}
$scoreTam = get_total_points('tam');
$scoreBoo = get_total_points('boo');
$scorePek = get_total_points('pek');

View file

@ -19,19 +19,21 @@
<!-- <a href="<?//= $relativePath ?>wini.php" id="wini" class="page-link"><span class="sidenav-content"><i
class="fas fa-star sidenav-icon"></i> Le
WINI</span></a> -->
<a href="<?= $relativePath ?>vacances.php" id="vacances" class="page-link"><span class="sidenav-content"><i
<!--
<a href="<?//= $relativePath ?>vacances.php" id="vacances" class="page-link"><span class="sidenav-content"><i
class="fas fa-book sidenav-icon"></i> Le
Cahier de vacances</span></a>
-->
<a href="<?= $relativePath ?>chansons.php" id="chansons" class="page-link"><span class="sidenav-content"><i
class="fas fa-music sidenav-icon"></i> Les
Chansons</span></a>
<div class="separator"></div>
<a href="<?= $relativePath ?>tamboom.php" id="tam" class="page-link"><span class="sidenav-content"><img
src="<?= $relativePath ?>assets/images/logos/tam_logo.png" class="sidenav-image"> Tamboom </span></a>
<a href="<?= $relativePath ?>pekstanas.php" id="pek" class="page-link"><span class="sidenav-content"><img
src="<?= $relativePath ?>assets/images/logos/pek_logo.png" class="sidenav-image"> Pekstanas </span></a>
<a href="<?= $relativePath ?>boomiflore.php" id="tam" class="page-link"><span class="sidenav-content"><img
src="<?= $relativePath ?>assets/images/logos/boomiflore.png" class="sidenav-image"> Boomiflore </span></a>
<a href="<?= $relativePath ?>peksureau.php" id="pek" class="page-link"><span class="sidenav-content"><img
src="<?= $relativePath ?>assets/images/logos/peksureau.png" class="sidenav-image"> Peksureau </span></a>
<a href="<?= $relativePath ?>stats.php" id="stats" class="page-link"><span class="sidenav-content"><i
class="fas fa-list-ol sidenav-icon"></i> Les Stats</span></a>

View file

@ -56,7 +56,7 @@ include($relativePath . "includes/sidenav.php");
?>
<div id="header-wrap" class="outer">
<header class="inner">
<h1 id="title">Semaine d'Accueil 2020</h1>
<h1 id="title">Semaine d'Accueil 2021</h1>
<h3 id="timer">Chargement du compte a rebours...</h3>
</header>
</div>

View file

@ -7,8 +7,8 @@
<div id="star4"></div>
</div>
<a id="menuLink" href="<?= $relativePath ?>index.php">
<img src="<?= $relativePath ?>assets/images/logos/Logo_Principal.png" id="menu-icon">
<h4 id="menu-title">INSA Toulouse 2020</h4>
<img src="<?= $relativePath ?>assets/images/logos/Logo_main_w.png" id="menu-icon">
<h4 id="menu-title">INSA Toulouse 2021</h4>
</a>
<?php
$platformID = 'top-bar-score';

View file

@ -53,12 +53,12 @@ include($relativePath . "includes/sidenav.php");
<div id="home-content-wrap" class="outer">
<section id="home-content" class="inner">
<img id="home-title" src="assets/images/logos/logo-texture.png">
<img id="home-title" src="assets/images/logos/logo_main.png">
<?php
$platformID = 'main-score';
include("includes/score_counter.php");
?>
<h3 id="homeSubtitle">Semaine d'Accueil INSA Toulouse 2020</h3>
<h3 id="homeSubtitle">Semaine d'Accueil INSA Toulouse 2021</h3>
<div id="homeText">
<p>
Bienvenue à l'INSA Toulouse jeune aventurier, pour ta magnifique semaine d'accueil.
@ -67,7 +67,8 @@ include($relativePath . "includes/sidenav.php");
<p>
Toutes les photos de ta semaine sont disponibles <a href="photos.php"> ici </a>! Pendant cette semaine tu
pourras découvrir toutes les photos prises par la Com Photo pour te remémorer plein de
souvenirs. Tu peux même les <a href="photosorder.php">commander</a> !
souvenirs.
<!-- Tu peux même les <a href="photosorder.php">commander</a> ! -->
</p>
<p>
Tu vas pouvoir trouver ici des informations générales sur ta semaine, comme
@ -76,20 +77,22 @@ include($relativePath . "includes/sidenav.php");
<a href="parrainage.php">Le Parrainage</a>,
ou encore des directives concernant ta magnifique <a href="blouse.php">Blouse</a>.
</p>
<h3>KohLINSA</h3>
<h3>INSAGames</h3>
<p>
Si tu as reçu (et lu!) ta plaquette, tu sais que tu fais partie d'une maison:
<a href="pekstanas.php">Pekstanas</a>,
ou de <a href="tamboom.php">Tamboom</a>.
<a href="peksureau.php" class="score-pek">Peksureau</a>,
ou de <a href="boomiflore.php" class="score-boo">Boomiflore</a>.
<br>
<a href="stats.php">Fais gagner des points</a> à ton équipe durant la semaine pour lui faire remporter l'aventure !
</p>
</div>
<br>
<!--
<iframe src="https://www.facebook.com/plugins/page.php?href=https%3A%2F%2Fwww.facebook.com%2Faccueil2018INSAT%2F&tabs=timeline&width=340&height=500&small_header=true&adapt_container_width=true&hide_cover=false&show_facepile=false&appId"
width="340" height="500" style="border:none;overflow:hidden;margin-top: " scrolling="no" frameborder="0"
allowTransparency="true" allow="encrypted-media"></iframe>
-->
</section>
</div>
<div id="footer-wrap" class="outer">

View file

@ -8,32 +8,39 @@ ob_start(); // Start reading html
</p>
<p>
Pour avoir les news, rejoins le groupe <a href="https://www.facebook.com/accueil2018INSAT/">Facebook</a> de la
semaine. On y postera des infos sur les événements à venir.
semaine. On y postera des infos sur les événements à venir.
</p>
<br id="maixent">
<p>
Tu peux également rejoindre l'<strong>Instagram</strong> : <a href="https://www.instagram.com/insat_accueil_2021/">insat_accueil_2021</a>
</p>
<br id="Armand">
<h4>Pour les questions concernant la semaine, adresse-toi directement au Prez, il saura surement t'aider :</h4>
<ul>
<li>
<strong>Mail :</strong> mcassagn@etud.insa-toulouse.fr
<strong>Mail :</strong> armandcarraz@gmail.com
</li>
<li>
<strong>Tel :</strong> 0627031249
<strong>Tel :</strong> 0781518880
</li>
<li>
<strong>Facebook :</strong> Maixent Cassagne
<strong>Facebook :</strong> Armand Carraz Billat
</li>
<li>
<strong>Instagram :</strong> armczbt
</li>
</ul>
<br id="cyprien">
<br id="ronan">
<h4>Pour des questions a propos du site :</h4>
<ul>
<li>
<strong>Mail :</strong> heusse@etud.insa-toulouse.fr
<strong>Mail :</strong> rbonnet@etud.insa-toulouse.fr
<br>
<strong>Facebook : </strong> Ronan Bonnet
</li>
<br id="arnaud">
<li>
Sinon y'a Arnaud, le créateur du site, mais il est en Suède donc il aura autre chose a faire
(mais tu peux toujours le contacter si tu veux: vergnet@etud.insa-toulouse.fr ou Arnaud Vergnet sur Facebook)
Sinon y'a Arnaud, le créateur du site : vergnet@etud.insa-toulouse.fr ou Arnaud Vergnet sur Facebook
</li>
</ul>
@ -52,10 +59,10 @@ ob_start(); // Start reading html
<h1>Credits</h1>
<p>
J'ai repris le site créé par Arnaud et maintenu par Arthur pour notre semaine d'accueil. Le site est plutôt modulable, donc si
J'ai repris le site créé par Arnaud et maintenu par Cyprien pour notre semaine d'accueil. Le site est plutôt modulable, donc si
quelqu'un
est chaud pour le reprendre pour l'année prochaine, contactez-moi ! (Y'a pas besoin de connaissances préalables,
perso j'ai tout appris en faisant, et c'est pas bien dur !).
c'est assez simple !).
</p>
<br>
<p>Voici les différentes technologies et ressources utilisées pour ce site :</p>

View file

@ -2,7 +2,7 @@
ob_start(); // Start reading html
?>
<div class="inner">
<h1>Izly et Lydia : les applis pour te simplifier la vie</h1>
<h1>Izly et Lydia : les applis pour te simplifier la vie</h1>
Pour payer au Pk, au RU ou encore à la cafet tu vas avoir deux applis pour te
simplifier la vie.<br><br>
<strong>Izly</strong>, cest comme un mini-compte bancaire que tu peux recharger avec ta carte ou

37
map.php
View file

@ -9,10 +9,24 @@ ob_start(); // Start reading html
<p>
<strong>Clique sur un bâtiment pour voir les infos.</strong>
</p>
<div id="map">
<?php echo file_get_contents("assets/images/map.svg"); ?>
<div id="maps_button">
<button onclick="enable3DMap()" class="main-button">Map 3D</button>
<button onclick="enable2DMap()" class="main-button">Map 2D</button>
</div>
<section id="loading-screen">
<div class="loader"></div>
</section>
<div id="maps" class="">
<script src="assets/js/map3d.js" type="module"></script>
<div id="map" class="hidden">
<?php echo file_get_contents("assets/images/map.svg"); ?>
<canvas id="canvasID"></canvas>
</div>
</div>
<p>
Une petite note sur le numéro des salles : sur ton emploi du temps, le bâtiment est marqué en premier, et
ensuite le chiffre des centaines pour l'étage, et après à toi de trouver !
@ -27,7 +41,24 @@ ob_start(); // Start reading html
</p>
</div>
<script>
function enable3DMap() {
var map3d = document.querySelector('#maps #map3d');
var map = document.querySelector('#maps #map');
map3d.classList.add("hidden");
map.classList.add("hidden");
map3d.classList.remove("hidden");
}
function enable2DMap() {
var map3d = document.querySelector('#maps #map3d');
var map = document.querySelector('#maps #map');
map.classList.add("hidden");
map3d.classList.add("hidden");
map.classList.remove("hidden");
}
</script>
<?php
$pageContent = ob_get_clean(); // Store html content in variable

View file

@ -4,24 +4,29 @@ ob_start(); // Start reading html
<div class="inner">
<h1>Le Parrainage</h1>
<p>Tu viens de récupérer ta première bouteille à la mer, direction lINSA, la survie ne
sera pas aisée. Mais ne ten fais pas Petit Pécheur dAnguilles, monte à bord de ta pirogue
et pars à laventure ; nous, Grands Denis Aguerris, serons pour taccueillir.
Jim, Liloï et leur conseil réunifié tattendent près des torches. Fais face à ton destin et
rencontre ton parrain ou ta marraine qui te protégera de la mousson (#DenisBrouillard) et qui
te permettra dêtre le dernier survivant sur lîle du Peks. Il sera ton plus fidèle coéquipier tout
au long de ces cinq saisons. 
Ton parrain / ta marraine sera ton ambassadeur, ton Teheiura, ta Sara. Pour une
parfaite cohésion et une synchronisation sans faille lors des épreuves, voire une relation
privilégiée (Accroche toi Cyril !), tu as le devoir de remplir le parchemin de parrainage, en
toute sincérité et avec soin, si tu ne veux pas te retrouver seul sur lîle de lexil.
Si tu nas pas compris lépreuve ou si tu tes perdu dans la forêt vierge, nhésite pas à
graver un « S.O.S » sur le sol et notre hélicoptère de sauvetage viendra à ta rescousse au
plus vite !</p>
<br>
<p>Coucou Petit Physicien Apprenti !</p>
<p>
Notre Giga Duo Adorable de respos te souhaite la bienvenue sur cet écosystème si nouveau pour toi
quest lINSA ! Pas de panique, lInsaïen nest en général pas barbare, il est même plutôt très <strong>gentil
et gazif</strong>. On espère que tu es prêt à vivre THE semaine daccueil organisée par nos petits soins, nous
les magnifiques GDA. Bienvenue, Piètre Porteur dArmes dans larène des 59èmes INSA Games
que nous tavons organisés avec tout notre amour.</p>
<p>
Nous deux, on est pour te débusquer El Unico (#dédiauxIbers), The only (#pourlesang), den eneste
(#merciggtrad), <strong>mentor de tes rêves</strong>. Il sera <strong>là avec toi, pour le meilleur, pour le pire</strong>, pour les D et
même pour lelecstat au cours des cinq (peut-être six?) prochaines années de ta vie à laide de ses
fabuleux conseils de survie dans larène.</p>
<p>
Ce magnifique Grand Dieu Aimant pourra cependant te correspondre SI ET SEULEMENT SI (ssi pour
les intimes) tu <strong>donnes ton best dans la fiche que nous tavons concoctée</strong>, afin de profiter de tous ses
précieux conseils. On compte sur toi pour remplir cette fiche avec un max de fantaisie, cest ton devoir
jeune tribut, et si tu galères pour x ou y raison, nhésite pas à nous lancer un poti parachute (tu
trouveras nos coordonnées sur la fiche ou sur cette présente plaquette).</p>
Joyeux Hunger Games, et puisse le sort têtre favorable !
<p>Si jamais t'as paumé ta fiche, pas (trop) de soucis, tu peux la télécharger
<strong><a href="assets/pdf/Fiche-Parrainge.pdf">ici</a></strong> (<a href="assets/pdf/Fiche-Parrainge-Anglais.pdf">here</a>
for the english version).</p>
<strong><a href="assets/pdf/Fiche-Parrainage.pdf">ici</a></strong> <!--(<a href="assets/pdf/Fiche-Parrainge-Anglais.pdf">here</a>
for the english version).--></p>
</div>

33
peksureau.php Normal file
View file

@ -0,0 +1,33 @@
<?php
ob_start(); // Start reading html
?>
<div class="inner">
<h1>Peksureau</h1>
<p>
Mes chers combattants, l'heure est venue d'honorer cette merveilleuse équipe qu'est Peksureau.
Depuis des années nous nous battons corps et âme contre nos adversaires de toujours : les Boomiflore.
C'est aujourd'hui à vous de revetir votre habit de combat d'un violet éclatant pour parvenir à l'emporter.
Je saurai vous guider dans cette bataille et vous transmettre tout le savoir dont vous avez besoin.
Reposez vous bien car nous aurons besoin de toute votre énergie pendant cette semaine !
A bientôt mes Participants Paradisiaques et Ambitieux
</p>
<p>
N'oublie pas de rejoindre ton groupe <a href=""> Facebook</a>
et de colorer ta blouse en un <strong style=" color: #9a89fd;">Violet Magnétique</strong> !
</p>
<br/>
Signé Armand
<br/>
<!--
<img style="max-width: 300px" src="assets/images/teams/pekstanas.jpg"></div>
-->
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$customBackgroundId = "bg_pek";
$pageTitle = "Peksureau";
include("includes/template.php"); // Display template with variable content
?>

52
plaquette.php Normal file
View file

@ -0,0 +1,52 @@
<?
ob_start(); // Start reading html
?>
<div class="inner">
<h1>Enigme plaquette</h1>
</div>
<label for="enigmePlaquette">Solution</label>
<input type="text" id="enigmePlaquette" name="enigmePlaquette">
<button onclick="getCodePlaquette()">Envoyer</button>
<div class="" id="enigmePlaquette-result">
</div>
<script>
function getCodePlaquette() {
let code = document.querySelector('#enigmePlaquette').value;
let object = {
"function": 'get_plaquette_code',
'code': code,
}
return $.ajax({
url: 'ajax/read',
data: object,
method: 'get',
success: function(data){
data = JSON.parse(data);
let div = document.querySelector('#enigmePlaquette-result');
if(data['name'] !== null && document.querySelector('#' + data['name']) === null) {
let container = document.createElement('div');
container.id = data['name'];
container.innerHTML = data['info'];
div.append(container);
}
}
});
}
</script>
<?php
?>
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$pageTitle = "Enigme plaquette";
include("includes/template.php"); // Display template with variable content
?>

View file

@ -4,23 +4,22 @@ ob_start(); // Start reading html
<div class="inner">
<h1>La Prevention</h1>
<p>Cher Phuture Petit Aventurier,<br>
De la course dorientation à lépreuve des poteaux, en passant par ton
1 er Petit Kours en amphi, tu vas en traverser des épreuves cette semaine ! Sans Denis, pas
de Koh Lanta ! De même, sans Com Immunité, pas de Koh lINSA ! Nous allons te coacher
tout au long de la semaine afin que tu soulèves le fameux totem. Pour que tu profites au
maximum de chaque minute, de chaque seconde de cette aventure, il est nécessaire que tu
te sentes en sécurité et épaulé en cas de besoin. Et cest justement nous entrons en
jeu dans le but de taider, toi, Phantastique Prochain Aphoneur
(#OnMinorePasLeTestVoltaireNous?!). Nous veillerons à ce quaucun Phormidable Phétard
Aiguisé ne tombe dans un quelconque excès (de chaleur par exemple !). Les aventuriers de
la tribu ont décidé de te dégotter les meilleurs médecins. Et avec eux, tu es certain que, cette
année, laventure Koh lINSA aura bien lieu. En cas de fringale, dhyper réflexion, ou
dhyposommeil, nous te relèverons grâce à nos bidons deau et nos sirops étoilés. Nous
serons reconnaissables grâce à nos bobs GDA (=Grands Divinateur Altruiste). Nous serons
également présents pour tavertir, chère Petite Phripouille Angélique, et téviter toute
descendance inopportune !
Au début ,vous serez 350 et à la fin, il nen restera pas quun !</p>
<p> Cher Ph(f)utur Peeta Amateur,<br>
Déjà, félicitations à toi si tu es arrivé à ce passage de la plaquette. Un Perspicace Parasite Acharné tu
es déjà ! Du parcours du combattant au tir à larc, en passant par ton 1er Petit K(c)ours en amphi, tu
vas en traverser des épreuves cette semaine. Sans Capitole, pas de Hunger Games. De même, sans
Com Prev, pas de Semaine dAccueil digne de ce nom. Nous allons te coacher tout au long de la
semaine afin que tu remportes tes jeux de la faim. Pour que tu profites au maximum de chaque minute,
de chaque seconde de cette aventure, il est nécessaire que tu te sentes en sécurité et épaulé en cas
de besoin. Et cest justement nous rentrons en jeu, dans le but de taider toi, Ph(f)antastique
Prochain Aphoneur. (# On minore pas le test Voltaire nous ?!). Nous veillerons à ce quaucun
Ph(f)ormidable Ph(f)étard Aiguisé ne tombe dans un quelconque excès. Avec nous, tu es certain que
cette année, la 59ème
édition de nos INSA Games aura bien lieu. En cas de fringale, dhyperréflexion,
ou dhyposommeil, nous te relèverons grâce à nos bidons deau et nos sirops étoilés. Nous serons
reconnaissables grâce à nos super brassards fluos. Nous serons également présents pour tavertir,
cher Petite Ph(f)ripouille Angélique et téviter toute descendance inopportune.
Aucun coup de canon ne sera tiré cette année !</p>
<p>Voici une petite video pour t'expliquer les bases si jamais tu vois quelqu'un inconscient :</p>
<iframe class="video" src="https://www.youtube-nocookie.com/embed/Eak9JO1zO2U?rel=0" frameborder="0"
allow="autoplay; encrypted-media" allowfullscreen></iframe>

View file

@ -35,8 +35,8 @@ function get_stats($team)
<strong>Clique sur une équipe pour voir le détail de son score</strong>
</p>
<div id="teamButtonContainer">
<span class="team-button" id="buttonTam" onclick="showScores('tam')">Tamboom</span>
<span class="team-button" id="buttonPek" onclick="showScores('pek')">Pekstanas</span>
<span class="team-button" id="buttonBoo" onclick="showScores('boo')">Boomiflore</span>
<span class="team-button" id="buttonPek" onclick="showScores('pek')">Peksureau</span>
</div>
</div>