Questo commit è contenuto in:
Ronan 2021-07-28 22:03:33 +02:00
parent 28f3037be7
commit ac603ad6c9
60 ha cambiato i file con 1387 aggiunte e 271 eliminazioni

Vedi 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)

Vedi 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">

Vedi 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'];

Vedi 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"/>

Vedi 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">

Vedi 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() {

Vedi 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;
}

Vedi 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;
}

Vedi 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 {

Vedi 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 File normale

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 205 KiB

63
assets/enigmes/crypto.py File normale
Vedi 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 soppresso perché una o più righe sono troppo lunghe

BIN
assets/fonts/hungergames.ttf File normale

File binario non mostrato.

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 258 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 404 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 175 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 28 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 188 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 298 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 496 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 274 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 353 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 204 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 242 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 486 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 963 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 393 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 340 KiB

File binario non mostrato.

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 522 KiB

Vedi 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%"

Prima

Larghezza:  |  Altezza:  |  Dimensione: 573 KiB

Dopo

Larghezza:  |  Altezza:  |  Dimensione: 573 KiB

BIN
assets/images/map3D.glb File normale

File binario non mostrato.

Vedi 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 File normale
Vedi 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();
}

Vedi 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 File normale

File binario non mostrato.

File binario non mostrato.

File binario non mostrato.

Vedi 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 s’il ne
t’arrive 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 t’expliquer 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 d’un simple maillot de bain, bah
ouais, les coups de soleil ça ne pardonne pas ! Heureusement pour toi, il est à l’INSA 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 n’importe
lesquels ! Cette année, une tradition ancestrale a été perpétuée : <strong>la Blouse</strong>.
Nous allons donc t’initier à l’art 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 l’INSAAAAA 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 d’Harry Potter.</li>
<li>Les aventuriers de Koh-L’INSA 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 d’Harry 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 d’aventurier 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 d’accueil ainsi que lors de tous tes futurs TPs. Mais pas de
panique ! C’est trivial, Miss et Mister Blouse 2019 vont tout t’expliquer, et à la fin, tu adoreras
Lacouture.
Maintenant que tu as été accepté à l’INSA, Denis t’a 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, l’aventure, Denis Brogniart... Tu as compris l’idée.</li>
Intersidéral.</li>
<li>D’autres types de spécimens qu’on te laisse le plaisir de découvrir.
</ul></b>
<p>C’est maintenant à ton tour de réaliser cette œuvre d’art, 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 t’attirer 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é à l’Institut pour Nouveaux tributs Sans Angoisses, une tâche très
importante t’attend, 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), c’est-
à-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 n’importe quoi, il y a des règles à respecter si tu
ne veux pas rester coincé à l’aé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 d’aiguilles tu t’armeras.</li>
<li>Par toi-même orner ta blouse tu devras, l’aide de maman, papa, mamie ou papi tu ne
<li>Uniquement <strong>de fils et d’aiguilles</strong> tu t’armeras.</li>
<li><strong>Par toi-même</strong> orner ta blouse tu devras, l’aide 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 n’utiliseras, ils sont réservés aux Grands Denis
Avertis que nous sommes, pour t’octroyer 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 d’Avis que nous sommes
pour t’octroyer 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
d’origine.<br>
- À l’arriè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
d’origine</Strong>.<br>
- À <strong>l’arriè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
d’humour tu n’oublieras 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 s’en 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,
« L’AVENTURE COMMENCE MAINTENANT ! » Applique-toi bien ! Car qui sait ? Tu seras
peut-être élu Miss ou Mister Blouse, au terme d’un concours épique entre les meilleurs
couturiers de l’île !
“À la fin il n’en restera qu’un ! (Je sais Jim… Tu n’as pas fait de faux départ, mais
l’histoire 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 d’un concours épique entre les
meilleurs couturiers de l’arène.
« A la fin, il n’en restera qu’un ! » mince ça c’était
le thème de l’anné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 File normale
Vedi 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
?>

Vedi 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
?>

Vedi 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
Vedi 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 = "Kohm’v’ile";
$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 Orient’INSA";
$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");
?>

Vedi 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 File normale
Vedi 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
?>

Vedi 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();

Vedi 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">

Vedi 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');

Vedi 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>

Vedi 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>

Vedi 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';

Vedi 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">

Vedi 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>

Vedi 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>, c’est comme un mini-compte bancaire que tu peux recharger avec ta carte ou

37
map.php
Vedi 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

Vedi 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 l’INSA, la survie ne
sera pas aisée. Mais ne t’en fais pas Petit Pécheur d’Anguilles, monte à bord de ta pirogue
et pars à l’aventure ; nous, Grands Denis Aguerris, serons pour t’accueillir.
Jim, Liloï et leur conseil réunifié t’attendent 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 l’exil.
Si tu n’as pas compris l’épreuve ou si tu t’es perdu dans la forêt vierge, n’hé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
qu’est l’INSA ! Pas de panique, l’Insaïen n’est 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 d’accueil organisée par nos petits soins, nous
les magnifiques GDA. Bienvenue, Piètre Porteur d’Armes dans l’arène des 59èmes INSA Games
que nous t’avons 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 l’elecstat au cours des cinq (peut-être six?) prochaines années de ta vie à l’aide de ses
fabuleux conseils de survie dans l’arè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 t’avons 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, c’est ton devoir
jeune tribut, et si tu galères pour x ou y raison, n’hé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 File normale
Vedi 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 File normale
Vedi 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
?>

Vedi 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 d’orientation à 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 l’INSA ! 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 c’est justement nous entrons en
jeu dans le but de t’aider, toi, Phantastique Prochain Aphoneur
(#OnMinorePasLeTestVoltaireNous?!). Nous veillerons à ce qu’aucun 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, l’aventure Koh l’INSA aura bien lieu. En cas de fringale, d’hyper réflexion, ou
d’hyposommeil, nous te relèverons grâce à nos bidons d’eau et nos sirops étoilés. Nous
serons reconnaissables grâce à nos bobs GDA (=Grands Divinateur Altruiste). Nous serons
également présents pour t’avertir, chère Petite Phripouille Angélique, et t’éviter toute
descendance inopportune !
Au début ,vous serez 350 et à la fin, il n’en restera pas qu’un !</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 à l’arc, 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 d’Accueil 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 c’est justement nous rentrons en jeu, dans le but de t’aider toi, Ph(f)antastique
Prochain Aphoneur. (# On minore pas le test Voltaire nous ?!). Nous veillerons à ce qu’aucun
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, d’hyperréflexion,
ou d’hyposommeil, nous te relèverons grâce à nos bidons d’eau et nos sirops étoilés. Nous serons
reconnaissables grâce à nos super brassards fluos. Nous serons également présents pour t’avertir,
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>

Vedi 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>