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. 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)** **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) - Arthur BOIVERT (boivert@etud.insa-toulouse.fr)
- Cyprien HEUSSE (heusse@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"> <select id="teamSelect">
<option value="tam">Tamboom</option> <option value="boo">Boomiflore</option>
<option value="pek">Pekstanas</option> <option value="pek">Peksureau</option>
</select> </select>
<div class="add-line"> <div class="add-line">

View file

@ -1,17 +1,46 @@
<?php <?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'; require_once '../../classes/dao.php';
$rest_json = file_get_contents("php://input"); $rest_json = file_get_contents("php://input");
$_POST = json_decode($rest_json, true); $_POST = json_decode($rest_json, true);
//var_dump($_POST); //var_dump($_POST);
if (isset($_GET['function']) || isset($_POST['function'])) { // if (isset($_GET['function']) || isset($_POST['function'])) {
if ($_GET['function'] == "save_map_info") // if ($_GET['function'] == "save_map_info")
save_map_info(); // save_map_info();
elseif ($_POST['function'] == "update_website") // elseif ($_POST['function'] == "update_website")
update_website(); // update_website();
} else // } 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(); show_error();
}
function save_map_info() { function save_map_info() {
if (isset($_GET['selector']) && isset($_GET['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() { function update_website() {
// if (isset($_POST['login']) && isset($_POST['password'])) { // if (isset($_POST['login']) && isset($_POST['password'])) {
// $login = $_POST['login']; // $login = $_POST['login'];

View file

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

View file

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

View file

@ -9,6 +9,10 @@ if (isset($_GET['function'])) {
get_map_info(); get_map_info();
elseif ($_GET['function'] == "get_activities_of_day") elseif ($_GET['function'] == "get_activities_of_day")
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 } else
show_error(); 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() { function show_error() {

View file

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

View file

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

View file

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

View file

@ -31,7 +31,7 @@ Theme Styles
@font-face { @font-face {
font-family: Harry-P; font-family: Harry-P;
src: url('../fonts/kohlanta.ttf'); src: url('../fonts/hungergames.ttf');
} }
@font-face { @font-face {
font-family:manuscrit; font-family:manuscrit;
@ -92,13 +92,13 @@ footer p {
a { a {
text-decoration: none; text-decoration: none;
color: #e9b82f; color: #dc4b33;
text-shadow: none; text-shadow: none;
transition: 0.3s; transition: 0.3s;
} }
a:hover, a:focus { a:hover, a:focus {
text-shadow: 0 0 4px #bd8a39; text-shadow: 0 0 4px #691d05;
} }
@ -165,6 +165,10 @@ td {
height: 270px; height: 270px;
} }
.hidden {
display: none;
}
/******************************************************************************* /*******************************************************************************
Full-Width Styles Full-Width Styles
*******************************************************************************/ *******************************************************************************/
@ -175,7 +179,7 @@ Full-Width Styles
.inner { .inner {
position: relative; position: relative;
max-width: 900px; max-width: 70%;
padding: 20px 10px; padding: 20px 10px;
margin: 0 auto; margin: 0 auto;
} }
@ -251,7 +255,7 @@ Full-Width Styles
} }
#home-title { #home-title {
width: 60%; width: 20%;
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
@ -266,7 +270,7 @@ Full-Width Styles
} }
.background { .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; background-size: cover;
position: fixed; position: fixed;
height: 100%; height: 100%;
@ -275,7 +279,7 @@ Full-Width Styles
} }
.index-background { .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; background-size: cover;
} }
@ -288,12 +292,12 @@ Full-Width Styles
} }
#bg_pek { #bg_pek {
background: url("../images/backgrounds/bg_pek.jpg"); background: url("../images/backgrounds/bg_peksu.jpg");
background-size: cover; background-size: cover;
} }
#bg_tam { #bg_boom {
background: url("../images/backgrounds/bg_tam.jpg"); background: url("../images/backgrounds/bg_boomi.jpg");
background-size: cover; background-size: cover;
} }
@ -374,14 +378,16 @@ Full-Width Styles
.main-button { .main-button {
background-color: #1a1a1a; background-color: #1a1a1a;
padding: 2px 2px 2px 2px; padding: 3px 6px 3px 6px;
border-radius: 5px; border-radius: 5px;
text-shadow: 0 0 5px #1c1c1c; text-shadow: 0 0 5px #1c1c1c;
font-size: 25px; font-size: 25px;
color: #73b795; color: #dc4b33;
box-shadow: 0 0 4px #000; box-shadow: 0 0 4px #000;
margin:2px;
} }
/* 2020 */
#hideenigma{ #hideenigma{
color: #acacac; color: #acacac;
@ -523,6 +529,88 @@ Full-Width Styles
text-shadow: 0 0 10px #bd8a39; 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 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" y="876.03839"
x="-313.51654" x="-313.51654"
id="tspan5559-8-57" id="tspan5559-8-57"
sodipodi:role="line">GPE</tspan></text> sodipodi:role="line">GP3E</tspan></text>
<text <text
transform="translate(535.13883,-752.60209)" transform="translate(535.13883,-752.60209)"
sodipodi:linespacing="125%" 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 () { $(document).ready(function () {
getMapInfo(getSelectedMap()); getMapInfo(getSelectedMap());
$(".save").click(function () { $(".save.getMapInfo").click(function () {
let info = {}; let info = {};
info['title'] = $('#titleInput').val(); info['title'] = $('.mapEdition #titleInput').val();
info['description'] = $('#descriptionInput').val(); info['description'] = $('.mapEdition #descriptionInput').val();
let object = { let object = {
"function": 'save_map_info', "function": 'save_map_info',
'selector': getSelectedMap(), 'selector': getSelectedMap(),
'info': info, 'info': info,
}; };
$.get( $.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", "ajax.php",
object, object,
function (data) { 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){ function nameTeam(team){
if (team==='pek') if (team==='pek')
return "Pekstanas"; return "Peksureau";
else if (team==='tam') else if (team==='boo')
return "Tamboom"; return "Boomiflore";
} }
function showScores(team) { function showScores(team) {
console.log(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"> <div class="inner">
<h1>La Blouse</h1> <h1>La Blouse</h1>
<p>Salut à toi Prétendant aux Poteaux Abominables !</p> <p>Salut à toi Petit Paneméen Astucieux,!</p>
<p>Te voilà arrivé à la partie la plus importante de la plaquette. Et oui, même sil ne <p>Te voilà en train de lire la partie la plus intéressante, que dis-je, la partie la plus IMPORTANTE
tarrive pas par la mer, ce mot est bien le parchemin te donnant les règles de ta toute de la plaquette ! Tu as été tiré au sort pour participer aux prochains INSA Games, et pas nimporte
première épreuve : la Blouse… que dis-je ? TA Blouse ! Ce que tu vas lire dans les prochains lesquels ! Cette année, une tradition ancestrale a été perpétuée : <strong>la Blouse</strong>.
paragraphes va texpliquer comment confectionner ta pièce d'identité Insaïenne pour les 5 Nous allons donc tinitier à lart de confectionner la plus belle des blouses qui te suivra tout au long
années à venir (voire plus si affinité…). de tes 5 ans (ou éventuellement plus, mais on va pas te spoiler...). Celle qui te fera peut-être remporter
En tant que bon aventurier, tu ne viendras pas vêtu dun simple maillot de bain, bah le titre tant convoité de Vainqueur des jeux... euuuh Miss et Mister Blouse !
ouais, les coups de soleil ça ne pardonne pas ! Heureusement pour toi, il est à lINSA une Comme tout bon tribut qui se respecte, tu viendras dès le premier jour paré de ton habit de
tradition ancestrale à laquelle tu néchapperas pas : la Blouse. En plus de te protéger, elle combat qui ne te servira pas seulement à être aussi badass que Katniss mais surtout à te représenter
sera l'accessoire qui TE représente toi et ta promo.</p> toi et TA PROMO (parce que tu aimes beaucoup ta promo).</p>
<p>Ainsi sur lÎle Nicoya Sauvage et Aride toulousaine tu pourras croiser différents spécimens : <p>A lINSAAAAA Touuuulouse (oups on est en train de ségarer) tu pourras rencontrer :
<ul id="list-blouse"> <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 <li>Les soldats de la Guerre froide de la promo 56 en Bleu Galactique et en Rouge
Intersidéral.</li> Intersidéral.</li>
<li>Et toutes les autres tribus que nous te laisserons découvrir. <li>Dautres types de spécimens quon te laisse le plaisir de 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>
</ul></b> </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 <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> 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"> <p><ul id="list-blouse">
<li>Uniquement de fils et daiguilles tu tarmeras.</li> <li>Uniquement <strong>de fils et daiguilles</strong> tu tarmeras.</li>
<li>Par toi-même orner ta blouse tu devras, laide de maman, papa, mamie ou papi tu ne <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> 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 <li><strong>Pas de marqueurs ou de feutres</strong>, ils sont réservés aux Géniaux Donneurs dAvis que nous sommes
Avertis que nous sommes, pour toctroyer bonus ou malus ainsi que des tags, pour toctroyer bonus ou malus ainsi que des tags comme le veut la tradition.</li>
comme le veut la tradition !</li>
<li>Comme sur le schéma qui suit, et avec ces consignes, ta blouse tu décoreras :<br> <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 - Sur le <strong>devant</strong> on veut voir <Strong>ton prénom, le blason et le nom de ton bled
dorigine.<br> dorigine</Strong>.<br>
- À larrière, tu mettras ton surnom (en gros et bien visible) et “INSA 58 en - À <strong>larrière</strong>, tu mettras ton <strong>surnom (en gros et bien visible) et “INSA 59 en
TRÈS gros, car tu aimes ta promo.<br> TRÈS gros</strong>, car tu aimes ta promo.<br>
- Quant aux espaces vides, aux poches et aux manches, il faudra les combler - Quant aux espaces vides, aux poches et aux manches, il faudra les <strong>combler
de broderies et fantaisies, cousues sur le thème de Koh-Lanta et de ton de broderies et fantaisies</strong>, cousues sur le thème des INSA GAMES et de TON DISTRICT.</li>
équipe.</li> <li>Créatif et original tu seras, <Strong>des bonus à la clé il y aura</strong>. Et bien-sûr, faire preuve
<li>Créatif et original tu seras, des bonus à la clé il y aura. Et bien-sûr, faire preuve
dhumour tu noublieras pas ! Et on ne le dira jamais assez . GARE AUX dhumour tu noublieras pas ! Et on ne le dira jamais assez . GARE AUX
TRICHEURS ! TRICHEURS !
Voilà un exemple illustratif de ta blouse après customisation, le but étant de sen inspirer Voilà un exemple illustratif de ta blouse après customisation, le but étant de sen inspirer
mais pas de la reproduire…</li> mais pas de la reproduire…</li>
<img src="assets/images/blouse/blouse_exemple.png" alt="Exemple blouse">
</ul></p> </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, <p>Applique-toi bien, car ce sera peut-être le seul
« LAVENTURE COMMENCE MAINTENANT ! » Applique-toi bien ! Car qui sait ? Tu seras titre de Miss ou Mister que tu obtiendras dans ta
peut-être élu Miss ou Mister Blouse, au terme dun concours épique entre les meilleurs vie (rip), au terme dun concours épique entre les
couturiers de lîle ! meilleurs couturiers de larène.
“À la fin il nen restera quun ! (Je sais Jim… Tu nas pas fait de faux départ, mais « A la fin, il nen restera quun ! » mince ça cétait
lhistoire devait sécrire ainsi.)</p> 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> <p>
<h3> <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> </h3>
<img src="assets/images/blouse/blouse_devant_elsa.jpg" alt="Blouse Elsa devant"> <img src="assets/images/blouse/blouse_devant_maeva.jpg" alt="Blouse Maeva devant">
<img src="assets/images/blouse/blouse_derriere_elsa.jpg" alt="Blouse Elsa dos"> <img src="assets/images/blouse/blouse_derriere_maeva.jpg" alt="Blouse Maeva dos">
<h3> <h3>
Et voici la blouse de notre Mister Blouse : Et voici la blouse de notre Mister Blouse :
</h3> </h3>
<img src="assets/images/blouse/blouse_devant_matthieu.jpg" alt="Blouse Matthieu devant"> <img src="assets/images/blouse/blouse_devant_nathan.jpg" alt="Blouse Nathan devant">
<img src="assets/images/blouse/blouse_derriere_matthieu.jpg" alt="Blouse Matthieu dos"> <img src="assets/images/blouse/blouse_derriere_nathan.jpg" alt="Blouse Nathan dos">
</div> </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 <?php
ob_start(); // Start reading html
?> 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: <div class="inner">
<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> <h1>Les chansons</h1>
<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> 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.
<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> 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/_YXjuDdcH3g" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <br><br>
<br><br>
</div> <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>
<?php
$pageContent = ob_get_clean(); // Store html content in variable <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>
$pageTitle = "Les chansons";
include("includes/template.php"); // Display template with variable content <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 = $this->conn->prepare($sql);
$cursor->execute([$info_json['title'], $info_json['description'], $selector]); $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) 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']]); $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 <?php
$comId = ""; $comId = "";
$comTitle = "Le Prez et la Vice Prez"; $comTitle = "Le Prez et la Vice Prez";
$comRespo = "Maixent Cassagne"; $comRespo = "Armand Carraz Billat";
$comRespoId = "mcassagn@etud.insa-toulouse.fr"; $comRespoId = "armandcarraz@gmail.com";
$comRespo2 = "Axelle Robillard"; $comRespo2 = "Eva Serdimet";
$comRespo2Id = "robillar@etud.insa-toulouse.fr"; $comRespo2Id = "eva@serdimet.com";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "Bureau1"; $comId = "Bureau1";
$comTitle = "Le Bureau pt.1"; $comTitle = "Le Bureau pt.1";
$comRespo = "Nicolas Birkeland<br>Secrétaire"; $comRespo = "Jules Carvalho<br>Secrétaire";
$comRespoId = "birkelan@etud.insa-toulouse.fr"; $comRespoId = "julescarvalho16@gmail.com";
$comRespo2 = "Lea Steyer<br>Trésorière"; $comRespo2 = "Laura Maumus<br>Trésorière";
$comRespo2Id = "steyer@etud.insa-toulouse.fr"; $comRespo2Id = "laura.maumus@icloud.com";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "Bureau2"; $comId = "Bureau2";
$comTitle = "Le Bureau (la suite)"; $comTitle = "Le Bureau (la suite)";
$comRespo = "Matthieu Tavernier<br>Responsable WINI"; $comRespo = "Emilie Combres<br>Responsable WINI";
$comRespoId = "m_tavern@etud.insa-toulouse.fr"; $comRespoId = "combres.emilie@gmail.com";
$comRespo2 = "Lou Ann Lacassagne<br>Responsable Communication"; $comRespo2 = "Louise Dinnat<br>Responsable Communication";
$comRespo2Id = "lalacass@etud.insa-toulouse.fr"; $comRespo2Id = "louise.dinnat54@gmail.Com";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "ComAnimaventure"; $comId = "ComAnim";
$comTitle = "Com Animaventure"; $comTitle = "Com' Ceasar";
$comRespo = "Lea Pleynet"; $comRespo = "Gabrielle Sipos";
$comRespoId = "pleynet@etud.insa-toulouse.fr"; $comRespoId = "gaby1919s@gmail.com";
$comRespo2 = "Cyril Moquay"; $comRespo2 = "Esteban Sellies";
$comRespo2Id = "moquay@etud.insa-toulouse.fr"; $comRespo2Id = "estebansellies@gmail.com";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "Com Immunité"; $comId = "ComPrev";
$comTitle = "Com Immunité"; $comTitle = "Com' Survie";
$comRespo = "Solène Bourguet"; $comRespo = "Alexandre Masson";
$comRespoId = "sbourguet@laposte.net"; $comRespoId = "masson.alex42240@gmail.com";
$comRespo2 = "Ayoub Bahi"; $comRespo2 = "Nina Moser";
$comRespo2Id = "bahi@etud.insa-toulouse.fr"; $comRespo2Id = "nina.moser.tls@gmail.com";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "Kohmvile"; $comId = "ComVille";
$comTitle = "Kohmvile"; $comTitle = "Com' 13 - Les naufragés de la semaine";
$comRespo = "Loann Valton"; $comRespo = "Emma Labourbe";
$comRespoId = "loann.valton@sfr.fr"; $comRespoId = "emma.labbus@gmail.com";
$comRespo2 = "Elorri Laxague"; $comRespo2 = "Corentin Kuhn";
$comRespo2Id = "elaxague@etud.insa-toulouse.fr"; $comRespo2Id = "cocokuhn2002@gmail.com";
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";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "ComOrientINSA"; $comId = "ComOrientINSA";
$comTitle = "Com OrientINSA"; $comTitle = "Com' 13 - Les naufragés de la semaine (suite)";
$comRespo = "Solène Delran"; $comRespo = "Mathilde Regnier";
$comRespoId = "delran@etud.insa-toulouse.fr"; $comRespoId = "mat.regnier12@gmail.com";
$comRespo2 = "Antonin Lezat"; $comRespo2 = "Zoé Ermine";
$comRespo2Id = "lezat@etud.insa-toulouse.fr"; $comRespo2Id = "ermine.zoe@orange.fr ";
include("includes/com_template.php"); 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"; $comId = "ComRavitaillement";
$comTitle = "Com Ravitaillement"; $comTitle = "Com' Sponsor";
$comRespo = "Zazie Gardeau"; $comRespo = "Sarah Fridi";
$comRespoId = "zazie.gardeau@hotmail.fr"; $comRespoId = "sarahfri@wanadoo.fr";
$comRespo2 = "Justin Lombard"; $comRespo2 = "Ignacio Del Campo";
$comRespo2Id = "jlombard@etud.insa-toulouse.fr"; $comRespo2Id = "ignacioluis.delcampo.sanchez@gmail.com";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "ComMoundir"; $comId = "ComParrainage";
$comTitle = "Com Moundir"; $comTitle = "Com' Haymitch";
$comRespo = "Jim Noirbuisson"; $comRespo = "Lili André";
$comRespoId = "jim.noirbusson@gmail.com"; $comRespoId = "liliandre620@gmail.com";
$comRespo2 = "Liloï Lourde Rocheblave"; $comRespo2 = "Elsa Salvy";
$comRespo2Id = "liloilourderocheblave@gmail.com"; $comRespo2Id = "salvyelsa@gmail.com";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "ComPhoto"; $comId = "ComPhoto";
$comTitle = "Com Photo"; $comTitle = "Com' TV";
$comRespo = "Pauline Dupuy"; $comRespo = "Alice Gardy";
$comRespoId = "dupuypauline38@gmail.com"; $comRespoId = "gardy@etud.insa-toulouse.fr";
$comRespo2 = ""; $comRespo2 = "";
$comRespo2Id = ""; $comRespo2Id = "";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "ComGraphisme"; $comId = "ComGraphisme";
$comTitle = "Com Graphisme"; $comTitle = "Com' Cinna";
$comRespo = "Cyprien Heusse"; $comRespo = "Clément Jeanjean";
$comRespoId = "cyprien@heusse.com"; $comRespoId = "clemjj@orange.fr";
$comRespo2 = "Naïs Pistre"; $comRespo2 = "Lila Frauciel";
$comRespo2Id = "pistre@etud.insa-toulouse.fr"; $comRespo2Id = "frauciel@etud.insa-toulouse.fr";
include("includes/com_template.php"); include("includes/com_template.php");
$comId = "ComPlaquette"; $comId = "ComPlaquette";
$comTitle = "Com Plaquette"; $comTitle = "Com' Plaquette";
$comRespo = "Lucie Blosse"; $comRespo = "Kevin Barge";
$comRespoId = "lucie.blosse@gmail.com"; $comRespoId = "kevin.barge@protonmail.com";
$comRespo2 = "Sarah Bobillot"; $comRespo2 = "Quentin Leroi";
$comRespo2Id = "sarahbobillot04@gmail.com"; $comRespo2Id = "qleroi@orange.fr";
include("includes/com_template.php"); include("includes/com_template.php");
?> ?>

View file

@ -7,17 +7,26 @@ ob_start(); // Start reading html
<ul> <ul>
<li> <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>
<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>
<!--
<li> <li>
<a href="assets/pdf/Charte-GB.pdf">La charte gestes barrières</a> <a href="assets/pdf/Charte-GB.pdf">La charte gestes barrières</a>
</li> </li>
-->
<!--
<li> <li>
<a href="assets/pdf/Fiche-Autorisation-Droit-Image.pdf">La charte de droit à l'image</a> <a href="assets/pdf/Fiche-Autorisation-Droit-Image.pdf">La charte de droit à l'image</a>
</li> </li>
-->
<!--
<li>
<a href="assets/pdf/Enigma_PDF.pdf">L'énigme que tu cherchais tant</a>
</li>
-->
</ul> </ul>
</div> </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"> <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>
<p class="copyright"> <p class="copyright">
Tous les éléments présents sur ce site sont représentés à des fins humoristiques. Nous ne cherchons en aucun 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- 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. vous sur la page <a href="<?= $relativePath ?>info.php">Infos</a> pour plus de détails.
</p> </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">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#cyprien'>Cyprien Heusse</a></p> <p class="copyright"> Site maintenu par <a href='<?= $relativePath ?>info.php#ronan'>Ronan Bonnet</a></p>
<p class="copyright"> <p class="copyright">
<script type="text/javascript"> <script type="text/javascript">
var d = new Date(); var d = new Date();

View file

@ -1,10 +1,10 @@
<div class="score-counter" id="<?= $platformID ?>"> <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"> <div class="score-container">
<a href="<?= $relativePath ?>stats.php"> <a href="<?= $relativePath ?>stats.php">
<div class="score-tam"> <div class="score-boo">
<?= $scoreTam ?> <?= $scoreBoo ?>
</div> </div>
<div class="score-separator"></div> <div class="score-separator"></div>
<div class="score-pek"> <div class="score-pek">

View file

@ -10,5 +10,5 @@ function get_total_points($team)
return $points; return $points;
} }
$scoreTam = get_total_points('tam'); $scoreBoo = get_total_points('boo');
$scorePek = get_total_points('pek'); $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 <!-- <a href="<?//= $relativePath ?>wini.php" id="wini" class="page-link"><span class="sidenav-content"><i
class="fas fa-star sidenav-icon"></i> Le class="fas fa-star sidenav-icon"></i> Le
WINI</span></a> --> 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 class="fas fa-book sidenav-icon"></i> Le
Cahier de vacances</span></a> Cahier de vacances</span></a>
-->
<a href="<?= $relativePath ?>chansons.php" id="chansons" class="page-link"><span class="sidenav-content"><i <a href="<?= $relativePath ?>chansons.php" id="chansons" class="page-link"><span class="sidenav-content"><i
class="fas fa-music sidenav-icon"></i> Les class="fas fa-music sidenav-icon"></i> Les
Chansons</span></a> Chansons</span></a>
<div class="separator"></div> <div class="separator"></div>
<a href="<?= $relativePath ?>tamboom.php" id="tam" class="page-link"><span class="sidenav-content"><img <a href="<?= $relativePath ?>boomiflore.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> src="<?= $relativePath ?>assets/images/logos/boomiflore.png" class="sidenav-image"> Boomiflore </span></a>
<a href="<?= $relativePath ?>pekstanas.php" id="pek" class="page-link"><span class="sidenav-content"><img <a href="<?= $relativePath ?>peksureau.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> 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 <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> 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"> <div id="header-wrap" class="outer">
<header class="inner"> <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> <h3 id="timer">Chargement du compte a rebours...</h3>
</header> </header>
</div> </div>

View file

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

View file

@ -53,12 +53,12 @@ include($relativePath . "includes/sidenav.php");
<div id="home-content-wrap" class="outer"> <div id="home-content-wrap" class="outer">
<section id="home-content" class="inner"> <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 <?php
$platformID = 'main-score'; $platformID = 'main-score';
include("includes/score_counter.php"); 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"> <div id="homeText">
<p> <p>
Bienvenue à l'INSA Toulouse jeune aventurier, pour ta magnifique semaine d'accueil. Bienvenue à l'INSA Toulouse jeune aventurier, pour ta magnifique semaine d'accueil.
@ -67,7 +67,8 @@ include($relativePath . "includes/sidenav.php");
<p> <p>
Toutes les photos de ta semaine sont disponibles <a href="photos.php"> ici </a>! Pendant cette semaine tu 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 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>
<p> <p>
Tu vas pouvoir trouver ici des informations générales sur ta semaine, comme 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>, <a href="parrainage.php">Le Parrainage</a>,
ou encore des directives concernant ta magnifique <a href="blouse.php">Blouse</a>. ou encore des directives concernant ta magnifique <a href="blouse.php">Blouse</a>.
</p> </p>
<h3>KohLINSA</h3> <h3>INSAGames</h3>
<p> <p>
Si tu as reçu (et lu!) ta plaquette, tu sais que tu fais partie d'une maison: Si tu as reçu (et lu!) ta plaquette, tu sais que tu fais partie d'une maison:
<a href="pekstanas.php">Pekstanas</a>, <a href="peksureau.php" class="score-pek">Peksureau</a>,
ou de <a href="tamboom.php">Tamboom</a>. ou de <a href="boomiflore.php" class="score-boo">Boomiflore</a>.
<br> <br>
<a href="stats.php">Fais gagner des points</a> à ton équipe durant la semaine pour lui faire remporter l'aventure ! <a href="stats.php">Fais gagner des points</a> à ton équipe durant la semaine pour lui faire remporter l'aventure !
</p> </p>
</div> </div>
<br> <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" <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" width="340" height="500" style="border:none;overflow:hidden;margin-top: " scrolling="no" frameborder="0"
allowTransparency="true" allow="encrypted-media"></iframe> allowTransparency="true" allow="encrypted-media"></iframe>
-->
</section> </section>
</div> </div>
<div id="footer-wrap" class="outer"> <div id="footer-wrap" class="outer">

View file

@ -8,32 +8,39 @@ ob_start(); // Start reading html
</p> </p>
<p> <p>
Pour avoir les news, rejoins le groupe <a href="https://www.facebook.com/accueil2018INSAT/">Facebook</a> de la 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> </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> <h4>Pour les questions concernant la semaine, adresse-toi directement au Prez, il saura surement t'aider :</h4>
<ul> <ul>
<li> <li>
<strong>Mail :</strong> mcassagn@etud.insa-toulouse.fr <strong>Mail :</strong> armandcarraz@gmail.com
</li> </li>
<li> <li>
<strong>Tel :</strong> 0627031249 <strong>Tel :</strong> 0781518880
</li> </li>
<li> <li>
<strong>Facebook :</strong> Maixent Cassagne <strong>Facebook :</strong> Armand Carraz Billat
</li>
<li>
<strong>Instagram :</strong> armczbt
</li> </li>
</ul> </ul>
<br id="cyprien"> <br id="ronan">
<h4>Pour des questions a propos du site :</h4> <h4>Pour des questions a propos du site :</h4>
<ul> <ul>
<li> <li>
<strong>Mail :</strong> heusse@etud.insa-toulouse.fr <strong>Mail :</strong> rbonnet@etud.insa-toulouse.fr
<br>
<strong>Facebook : </strong> Ronan Bonnet
</li> </li>
<br id="arnaud"> <br id="arnaud">
<li> <li>
Sinon y'a Arnaud, le créateur du site, mais il est en Suède donc il aura autre chose a faire Sinon y'a Arnaud, le créateur du site : vergnet@etud.insa-toulouse.fr ou Arnaud Vergnet sur Facebook
(mais tu peux toujours le contacter si tu veux: vergnet@etud.insa-toulouse.fr ou Arnaud Vergnet sur Facebook)
</li> </li>
</ul> </ul>
@ -52,10 +59,10 @@ ob_start(); // Start reading html
<h1>Credits</h1> <h1>Credits</h1>
<p> <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 quelqu'un
est chaud pour le reprendre pour l'année prochaine, contactez-moi ! (Y'a pas besoin de connaissances préalables, 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> </p>
<br> <br>
<p>Voici les différentes technologies et ressources utilisées pour ce site :</p> <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 ob_start(); // Start reading html
?> ?>
<div class="inner"> <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 Pour payer au Pk, au RU ou encore à la cafet tu vas avoir deux applis pour te
simplifier la vie.<br><br> simplifier la vie.<br><br>
<strong>Izly</strong>, cest comme un mini-compte bancaire que tu peux recharger avec ta carte ou <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> <p>
<strong>Clique sur un bâtiment pour voir les infos.</strong> <strong>Clique sur un bâtiment pour voir les infos.</strong>
</p> </p>
<div id="maps_button">
<div id="map"> <button onclick="enable3DMap()" class="main-button">Map 3D</button>
<?php echo file_get_contents("assets/images/map.svg"); ?> <button onclick="enable2DMap()" class="main-button">Map 2D</button>
</div> </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> <p>
Une petite note sur le numéro des salles : sur ton emploi du temps, le bâtiment est marqué en premier, et 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 ! ensuite le chiffre des centaines pour l'étage, et après à toi de trouver !
@ -27,7 +41,24 @@ ob_start(); // Start reading html
</p> </p>
</div> </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 <?php
$pageContent = ob_get_clean(); // Store html content in variable $pageContent = ob_get_clean(); // Store html content in variable

View file

@ -4,24 +4,29 @@ ob_start(); // Start reading html
<div class="inner"> <div class="inner">
<h1>Le Parrainage</h1> <h1>Le Parrainage</h1>
<p>Tu viens de récupérer ta première bouteille à la mer, direction lINSA, la survie ne <p>Coucou Petit Physicien Apprenti !</p>
sera pas aisée. Mais ne ten fais pas Petit Pécheur dAnguilles, monte à bord de ta pirogue <p>
et pars à laventure ; nous, Grands Denis Aguerris, serons pour taccueillir. Notre Giga Duo Adorable de respos te souhaite la bienvenue sur cet écosystème si nouveau pour toi
Jim, Liloï et leur conseil réunifié tattendent près des torches. Fais face à ton destin et quest lINSA ! Pas de panique, lInsaïen nest en général pas barbare, il est même plutôt très <strong>gentil
rencontre ton parrain ou ta marraine qui te protégera de la mousson (#DenisBrouillard) et qui et gazif</strong>. On espère que tu es prêt à vivre THE semaine daccueil organisée par nos petits soins, nous
te permettra dêtre le dernier survivant sur lîle du Peks. Il sera ton plus fidèle coéquipier tout les magnifiques GDA. Bienvenue, Piètre Porteur dArmes dans larène des 59èmes INSA Games
au long de ces cinq saisons.  que nous tavons organisés avec tout notre amour.</p>
Ton parrain / ta marraine sera ton ambassadeur, ton Teheiura, ta Sara. Pour une <p>
parfaite cohésion et une synchronisation sans faille lors des épreuves, voire une relation Nous deux, on est pour te débusquer El Unico (#dédiauxIbers), The only (#pourlesang), den eneste
privilégiée (Accroche toi Cyril !), tu as le devoir de remplir le parchemin de parrainage, en (#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
toute sincérité et avec soin, si tu ne veux pas te retrouver seul sur lîle de lexil. même pour lelecstat au cours des cinq (peut-être six?) prochaines années de ta vie à laide de ses
Si tu nas pas compris lépreuve ou si tu tes perdu dans la forêt vierge, nhésite pas à fabuleux conseils de survie dans larène.</p>
graver un « S.O.S » sur le sol et notre hélicoptère de sauvetage viendra à ta rescousse au <p>
plus vite !</p> Ce magnifique Grand Dieu Aimant pourra cependant te correspondre SI ET SEULEMENT SI (ssi pour
<br> 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 <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> <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> for the english version).--></p>
</div> </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"> <div class="inner">
<h1>La Prevention</h1> <h1>La Prevention</h1>
<p>Cher Phuture Petit Aventurier,<br> <p> Cher Ph(f)utur Peeta Amateur,<br>
De la course dorientation à lépreuve des poteaux, en passant par ton Déjà, félicitations à toi si tu es arrivé à ce passage de la plaquette. Un Perspicace Parasite Acharné tu
1 er Petit Kours en amphi, tu vas en traverser des épreuves cette semaine ! Sans Denis, pas es déjà ! Du parcours du combattant au tir à larc, en passant par ton 1er Petit K(c)ours en amphi, tu
de Koh Lanta ! De même, sans Com Immunité, pas de Koh lINSA ! Nous allons te coacher vas en traverser des épreuves cette semaine. Sans Capitole, pas de Hunger Games. De même, sans
tout au long de la semaine afin que tu soulèves le fameux totem. Pour que tu profites au Com Prev, pas de Semaine dAccueil digne de ce nom. Nous allons te coacher tout au long de la
maximum de chaque minute, de chaque seconde de cette aventure, il est nécessaire que tu semaine afin que tu remportes tes jeux de la faim. Pour que tu profites au maximum de chaque minute,
te sentes en sécurité et épaulé en cas de besoin. Et cest justement nous entrons en de chaque seconde de cette aventure, il est nécessaire que tu te sentes en sécurité et épaulé en cas
jeu dans le but de taider, toi, Phantastique Prochain Aphoneur de besoin. Et cest justement nous rentrons en jeu, dans le but de taider toi, Ph(f)antastique
(#OnMinorePasLeTestVoltaireNous?!). Nous veillerons à ce quaucun Phormidable Phétard Prochain Aphoneur. (# On minore pas le test Voltaire nous ?!). Nous veillerons à ce quaucun
Aiguisé ne tombe dans un quelconque excès (de chaleur par exemple !). Les aventuriers de Ph(f)ormidable Ph(f)étard Aiguisé ne tombe dans un quelconque excès. Avec nous, tu es certain que
la tribu ont décidé de te dégotter les meilleurs médecins. Et avec eux, tu es certain que, cette cette année, la 59ème
année, laventure Koh lINSA aura bien lieu. En cas de fringale, dhyper réflexion, ou édition de nos INSA Games aura bien lieu. En cas de fringale, dhyperréflexion,
dhyposommeil, nous te relèverons grâce à nos bidons deau et nos sirops étoilés. Nous ou dhyposommeil, nous te relèverons grâce à nos bidons deau et nos sirops étoilés. Nous serons
serons reconnaissables grâce à nos bobs GDA (=Grands Divinateur Altruiste). Nous serons reconnaissables grâce à nos super brassards fluos. Nous serons également présents pour tavertir,
également présents pour tavertir, chère Petite Phripouille Angélique, et téviter toute cher Petite Ph(f)ripouille Angélique et téviter toute descendance inopportune.
descendance inopportune ! Aucun coup de canon ne sera tiré cette année !</p>
Au début ,vous serez 350 et à la fin, il nen restera pas quun !</p>
<p>Voici une petite video pour t'expliquer les bases si jamais tu vois quelqu'un inconscient :</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" <iframe class="video" src="https://www.youtube-nocookie.com/embed/Eak9JO1zO2U?rel=0" frameborder="0"
allow="autoplay; encrypted-media" allowfullscreen></iframe> 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> <strong>Clique sur une équipe pour voir le détail de son score</strong>
</p> </p>
<div id="teamButtonContainer"> <div id="teamButtonContainer">
<span class="team-button" id="buttonTam" onclick="showScores('tam')">Tamboom</span> <span class="team-button" id="buttonBoo" onclick="showScores('boo')">Boomiflore</span>
<span class="team-button" id="buttonPek" onclick="showScores('pek')">Pekstanas</span> <span class="team-button" id="buttonPek" onclick="showScores('pek')">Peksureau</span>
</div> </div>
</div> </div>