Moved map descriptions in database and added admin interface to edit them

This commit is contained in:
Keplyx 2019-05-19 20:04:02 +02:00
parent 71c578aea4
commit 5f0a0ecf53
38 changed files with 454 additions and 433 deletions

View file

@ -3,11 +3,14 @@ require_once '../classes/dao.php';
if (isset($_GET['function'])) {
if ($_GET['function'] == "save_scores") {
if ($_GET['function'] == "save_scores")
save_scores();
} elseif ($_GET['function'] == "get_scores") {
elseif ($_GET['function'] == "get_scores")
get_scores();
}
elseif ($_GET['function'] == "get_map_info")
get_map_info();
elseif ($_GET['function'] == "save_map_info")
save_map_info();
} else
show_error();
@ -25,14 +28,33 @@ function get_scores() {
if (isset($_GET['team'])) {
header('Content-Type: application/json');
$dao = new Dao('../');
echo json_encode($dao->get_score_team($_GET['team']));
} else {
show_error();
}
}
function get_map_info() {
if (isset($_GET['selector'])) {
header('Content-Type: application/json');
$dao = new Dao('../');
echo json_encode($dao->get_map_info($_GET['selector']));
} else {
show_error();
}
}
function save_map_info() {
if (isset($_GET['selector']) && isset($_GET['info'])) {
$dao = new Dao('../');
$dao->save_map_info($_GET['selector'], $_GET['info']);
echo "Réussite";
} else {
show_error();
}
}
function show_error() {
echo "Échec : ";
var_dump($_GET);

View file

@ -3,61 +3,15 @@ ob_start(); // Start reading html
$relativePath = "../";
?>
<h1>ADMIN</h1>
<h2>Editer Score</h2>
<h2>Bienvenue sur la page d'administration</h2>
<select id="teamSelect">
<option value="gli">Glissefondor</option>
<option value="pek">Peksentard</option>
<option value="boo">Boomsouffle</option>
<option value="ver">Verredaigle</option>
</select>
<div class="add-line">
<i class="fas fa-plus"></i>
</div>
<div class="edit-header">
<div class="stat-log">Log</div>
<div class="stat-points">Points</div>
<div class="stat-trash"><i class='fas fa-trash'></i></div>
</div>
<table class="stats-table edit-stats">
</table>
<div class="save-score">
<i class="fas fa-save"></i> Enregistrer
</div>
<a href="scores.php">Editer les scores</a>
<br>
<div class="stats-button-container">
<a href="<?= $relativePath ?>stats.php" class="stats-button">
Retour sur le site
</a>
</div>
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/stats.css"/>
<a href="map.php">Editer le texte de la carte</a>
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$pageTitle = "ADMIN";
$pageScripts = "<script type=\"text/javascript\" src=\"../assets/js/statsManager.js\"></script>";
include($relativePath . "includes/template.php"); // Display template with variable content
function get_stats($team, $path)
{
$dao = new Dao($path);
foreach ($dao->get_score_team($team) as $row) {
$text = $row['text'];
$points = $row['points'];
?>
<tr class="entry">
<td class="edit-text"><input type='text' value="<?= $text ?>"/></td>
<td class="edit-points"><input type='number' value="<?= $points ?>"/></td>
<td class='remove-line'><i class="fas fa-trash"></td>
</tr>
<?php
}
}
?>

52
admin/map.php Normal file
View file

@ -0,0 +1,52 @@
<?php
ob_start(); // Start reading html
$relativePath = "../";
require_once $relativePath.'classes/dao.php';
?>
<h1>ADMIN</h1>
<h2>Edition de la carte</h2>
<select id="mapSelect">
<?php setup_map_dropdown() ?>
</select>
<br>
<label for="titleInput">Title</label>
<input type="text" id="titleInput">
<label for="descriptionInput">Description</label>
<textarea rows="15" id="descriptionInput"></textarea>
<div class="save">
<i class="fas fa-save"></i> Enregistrer
</div>
<br>
<div class="buttons-container">
<a href="index.php" class="admin-back-button">
Retour sur la page admin
</a>
<a href="<?= $relativePath ?>map.php" class="website-back-button">
Retour sur le site
</a>
</div>
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/adminEdit.css"/>
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$pageTitle = "Édition carte";
$pageScripts = "<script type=\"text/javascript\" src=\"../assets/js/mapManager.js\"></script>";
include($relativePath . "includes/template.php"); // Display template with variable content
function setup_map_dropdown() {
$dao = new Dao('../');
foreach ($dao->get_map_selectors() as $row) {
echo "<option value='" . $row['selector'] . "'>" . $row['selector'] . "</option>";
}
}
?>

66
admin/scores.php Normal file
View file

@ -0,0 +1,66 @@
<?php
ob_start(); // Start reading html
$relativePath = "../";
?>
<h1>ADMIN</h1>
<h2>Edition des scores</h2>
<select id="teamSelect">
<option value="gli">Glissefondor</option>
<option value="pek">Peksentard</option>
<option value="boo">Boomsouffle</option>
<option value="ver">Verredaigle</option>
</select>
<div class="add-line">
<i class="fas fa-plus"></i>
</div>
<div class="edit-header">
<div class="stat-log">Log</div>
<div class="stat-points">Points</div>
<div class="stat-trash"><i class='fas fa-trash'></i></div>
</div>
<table class="stats-table edit-stats">
</table>
<div class="save">
<i class="fas fa-save"></i> Enregistrer
</div>
<br>
<div class="buttons-container">
<a href="index.php" class="admin-back-button">
Retour sur la page admin
</a>
<a href="<?= $relativePath ?>stats.php" class="website-back-button">
Retour sur le site
</a>
</div>
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/adminEdit.css"/>
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$pageTitle = "Édition scores";
$pageScripts = "<script type=\"text/javascript\" src=\"../assets/js/statsManager.js\"></script>";
include($relativePath . "includes/template.php"); // Display template with variable content
function get_stats($team, $path)
{
$dao = new Dao($path);
foreach ($dao->get_score_team($team) as $row) {
$text = $row['text'];
$points = $row['points'];
?>
<tr class="entry">
<td class="edit-text"><input type='text' value="<?= $text ?>"/></td>
<td class="edit-points"><input type='number' value="<?= $points ?>"/></td>
<td class='remove-line'><i class="fas fa-trash"></td>
</tr>
<?php
}
}
?>

160
assets/css/adminEdit.css Normal file
View file

@ -0,0 +1,160 @@
.edit-header .stat-log {
width: 70%;
}
.stat-points {
width: 20%;
}
.edit-header .stat-points {
width: 20%;
}
.edit-button-container {
border: none;
margin: 10px;
}
.edit-header {
display: flex;
text-align: center;
background-color: #61605e;
color: #fefefe;
font-weight: bold;
}
.edit-header .stat-trash {
margin: auto;
}
.edit-text {
width: 70%;
}
.edit-points{
width: 20%;
}
.buttons-container {
display: inline-flex;
}
.admin-back-button {
width: auto;
background: #fafafa;
color: #000;
border-radius: 5px;
padding: 15px;
box-shadow: 0 0 5px #000000;
}
.admin-back-button:hover {
color: #fafafa;
background: #1a1a1a;
}
.website-back-button {
width: auto;
background: #fafafa;
color: #000;
border-radius: 5px;
padding: 15px;
box-shadow: 0 0 5px #000000;
}
.website-back-button:hover {
color: #fafafa;
background: #1a1a1a;
}
.edit-stats {
width: 100%;
}
input, textarea {
text-align: center;
background: #484848;
color: #fafafa;
width: 100%;
border: none;
font-family: inherit;
font-size: inherit;
}
.remove-line {
color: #ff1200;
cursor: pointer;
transition: 0.3s;
}
.remove-line svg {
pointer-events: none;
}
.remove-line:hover {
color: #ff5e00;
text-shadow: 0 0 5px #ff4000;
}
.add-line{
font-size: 30px;
color: #fafafa;
cursor: pointer;
transition: 0.3s;
width: 100%;
border-radius: 5px;
margin: 30px 0 20px 0;
}
#addLine_gli {
background: #f02800;
}
#addLine_pek {
background: #21f022;
}
#addLine_boo {
background: #F0BA00;
}
#addLine_ver {
background: #5aa4f0;
}
#editHeader_gli {
background: #9c1a00;
}
#editHeader_pek {
background: #138a14;
}
#editHeader_boo {
background: #6b5300;
}
#editHeader_ver {
background: #264565;
}
.save {
background: #21aa08;
font-size: 30px;
color: #fafafa;
cursor: pointer;
transition: 0.3s;
margin: 40px 0 0 0;
width: 100%;
border-radius: 5px;
}
.save:hover {
background: #2ce20b;
box-shadow: 0 0 5px #2ce20b;
}

View file

@ -16,158 +16,17 @@ margin-right: 20px;
}
.negative {
color: #1a1a1a;
color: #bf021c;
}
.stat-log, .edit-header.stat-log {
width: 80%;
}
.edit-header .stat-log {
width: 70%;
.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title {
font-size: 3rem;
}
.stat-points {
width: 20%;
}
.edit-header .stat-points {
width: 20%;
}
.edit-button-container {
border: none;
margin: 10px;
}
.edit-header {
display: flex;
text-align: center;
background-color: #61605e;
color: #fefefe;
font-weight: bold;
}
.edit-header .stat-trash {
margin: auto;
}
.edit-text {
width: 70%;
}
.edit-points{
width: 20%;
}
.stats-button-container {
display: inline-flex;
}
.stats-button {
width: auto;
background: #fafafa;
color: #000;
border-radius: 5px;
padding: 15px;
box-shadow: 0 0 5px #000000;
}
.stats-button:hover {
color: #fafafa;
background: #1a1a1a;
}
.edit-stats {
width: 100%;
}
input {
text-align: center;
background: #484848;
color: #fafafa;
width: 100%;
border: none;
font-family: inherit;
font-size: inherit;
}
.remove-line {
color: #ff1200;
cursor: pointer;
transition: 0.3s;
}
.remove-line svg {
pointer-events: none;
}
.remove-line:hover {
color: #ff5e00;
text-shadow: 0 0 5px #ff4000;
}
.add-line{
font-size: 30px;
color: #fafafa;
cursor: pointer;
transition: 0.3s;
width: 100%;
border-radius: 5px;
margin: 30px 0 20px 0;
}
#addLine_gli {
background: #f02800;
}
#addLine_pek {
background: #21f022;
}
#addLine_boo {
background: #F0BA00;
}
#addLine_ver {
background: #5aa4f0;
}
#editHeader_gli {
background: #9c1a00;
}
#editHeader_pek {
background: #138a14;
}
#editHeader_boo {
background: #6b5300;
}
#editHeader_ver {
background: #264565;
}
.save-score {
background: #21aa08;
font-size: 30px;
color: #fafafa;
cursor: pointer;
transition: 0.3s;
margin: 40px 0 0 0;
width: 100%;
border-radius: 5px;
}
.save-score:hover {
background: #2ce20b;
box-shadow: 0 0 5px #2ce20b;
}
.score-nav{
width: auto;

View file

@ -55,24 +55,23 @@ h1 {
}
h2 {
padding-bottom: 3rem;
font-size: 32px;
font-size: 3.5rem;
}
h3 {
font-size: 2.5rem;
font-size: 3rem;
}
h4 {
font-size: 2.3rem;
font-size: 2.6rem;
}
h5 {
font-size: 2rem;
font-size: 2.2rem;
}
h6 {
font-size: 1.8rem;
font-size: 1.9rem;
}
p {
@ -283,15 +282,6 @@ Full-Width Styles
.index-background {
background: url("../images/bg_index.jpg") no-repeat center fixed;
}
#bg_ussr {
background: url("../images/urss.png") no-repeat center fixed;
background-size: cover;
}
#bg_usa {
background: url("../images/usa.png") no-repeat center fixed;
background-size: cover;
}
@ -526,6 +516,29 @@ transition: 0.3s;
box-shadow: 0 0 10px #1f6fce;
}
/* Popup background */
.jconfirm-bg {
background-color: rgba(26, 26, 26, 0.8) !important;
}
.jconfirm .jconfirm-box.loading {
height: 100%;
}
.jconfirm .jconfirm-box.loading::before {
display: none;
}
/* Color of the spinning icon */
.jconfirm .jconfirm-box.loading::after {
border-bottom-color: #ed0223;
opacity: 1;
}
.jconfirm .jconfirm-box div.jconfirm-content {
padding-bottom: 50px;
}
/*******************************************************************************
Small Device Styles
*******************************************************************************/

View file

@ -10,18 +10,40 @@ function get_name(id){
}
function clicked(elem){
set_element_active(elem)
$("#infoBox").load("includes/map_descriptions/" + get_name(elem.id) + ".html");
$('html, body').animate({
scrollTop: $("#info-box-top").offset().top
}, 300);
set_element_active(elem);
$.alert({
title: 'Chargement...',
theme: 'supervan',
content: function () {
let self = this;
let object = {
"function": 'get_map_info',
'selector': get_name(elem.id),
};
return $.ajax({
url: 'admin/ajax_load.php',
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')
}
}).fail(function(){
self.setContent('Something went wrong.');
});
}
});
}
function set_element_active(elem){
selected = elem;
var elements = document.querySelectorAll('*[id^="map-"]');
let elements = document.querySelectorAll('*[id^="map-"]');
for (var i = 0; i < elements.length; i++){
for (let i = 0; i < elements.length; i++){
$(elements[i]).css("fill", normalColor);
}
$(elem).css("fill", clickedColor);

45
assets/js/mapManager.js Normal file
View file

@ -0,0 +1,45 @@
let ajaxurl = 'ajax_load.php';
$(document).ready(function () {
getMapInfo(getSelectedMap());
$(".save").click(function () {
let info = {};
info['title'] = $('#titleInput').val();
info['description'] = $('#descriptionInput').val();
let object = {
"function": 'save_map_info',
'selector': getSelectedMap(),
'info': info,
};
$.get(
ajaxurl,
object,
function (data) {
alert(data);
}
);
});
$('#mapSelect').on('change', function () {
getMapInfo(getSelectedMap());
});
});
function getSelectedMap() {
return $('#mapSelect').val();
}
function getMapInfo(selector) {
let object = {
"function": 'get_map_info',
'selector': selector,
};
$.get(
ajaxurl,
object,
function (data) {
console.log(data);
$('#titleInput').val(data[0]['title']);
$('#descriptionInput').val(data[0]['description']);
}
);
}

View file

@ -6,9 +6,23 @@ let entryTemplate =
'</div>';
function showScores(team) {
console.log(team);
let title = '';
switch (team) {
case 'gli':
title = 'Glissefondor';
break;
case 'pek':
title = 'Peksentard';
break;
case 'boo':
title = 'Boomsouffle';
break;
case 'ver':
title = 'Verredaigle';
break;
}
$.alert({
title: team,
title: title,
theme: 'supervan',
content: function () {
let self = this;

View file

@ -16,7 +16,7 @@ $(document).ready(function () {
$(".add-line").click(function () {
addLine();
});
$(".save-score").click(function () {
$(".save").click(function () {
let lines = getLine();
let object = {
"function": 'save_scores',

View file

@ -57,6 +57,29 @@ class Dao
}
}
public function get_map_info($selector) {
$sql = 'SELECT title, description FROM map_insa WHERE selector = ?';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$selector]);
return $cursor->fetchAll(PDO::FETCH_ASSOC);
}
public function get_map_selectors() {
$sql = 'SELECT selector FROM map_insa';
$cursor = $this->conn->prepare($sql);
$cursor->execute();
return $cursor->fetchAll(PDO::FETCH_ASSOC);
}
public function save_map_info($selector, $info_json) {
$sql = 'DELETE FROM map_insa WHERE selector = ?';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$selector]);
$sql = 'INSERT INTO map_insa (title, description, selector) VALUES (?, ?, ?)';
$cursor = $this->conn->prepare($sql);
$cursor->execute([$info_json['title'], $info_json['description'], $selector]);
}
}

View file

@ -1,6 +0,0 @@
<h3>L'Amicale</h3>
<p>
Deux petits bâtiments qui regroupent quelques clubs, peut-être que t'y trouveras ton bonheur. C'est aussi ici que tu
pourras trouver l'Amicale des élèves, qui organise différents événements tout au long de l'année, comme ta semaine
d'accueil.
</p>

View file

@ -1,20 +0,0 @@
<h3>La BIB et la Cafet</h3>
<p>
Oui je sais sur le plan ya juste marqué BIB, mais ya aussi la cafet juste en dessous !
</p>
<h4>La BIB</h4>
<p>
Si t'es hors campus, tu vas passer du temps là bas. Tu peux travailler sans (trop de) bruit, lire, et aller sur des
ordis (pour faire de l'algo, direction GEI). Si t'aimes lire, que ce soit des romans ou des livres scientifiques, tu
seras servi : en plus des livres disponibles à la BIB, il est possible d'en emprunter venant de toute l'Université
Paul Sabatier, et ça fait beaucoup de livres. Un gros plus est la possibilité de réserver des box (des boîtes pour
ceux fâchés avec l'anglais). C'est des salles de travail, où tu pourras bosser sur des projets avec ton groupe sans
déranger et ni être dérangé. Quand la date limite des projets arrive, ya souvent plus de place, donc direction le
STPI pour trouver une salle vide.
</p>
<h4>La Cafet</h4>
<p>
La petite cafet se cache sous la BIB, avec l'entrée juste à côté du RU. C'est un peu plus cher, mais ya
des pizzas, donc c'est bon. C'est un endroit convivial, avec du personnel très accueillant, toujours avec le sourire.
Y aller avec ses potes de temps en temps est plutôt sympa pour casser la monotonie du RU.
</p>

View file

@ -1,6 +0,0 @@
<h3>Le CSH</h3>
<p>
Ah, le CSH, le Centre des Sciences Humaines. Un endroit merveilleux où tu feras de l'anglais, de la LV2, de
l'expression et du PPI, les matières préférées des élèves. Mais bon, ya un distributeur de boissons et
des ventes de crêpes, donc ça va.
</p>

View file

@ -1,16 +0,0 @@
<h3>Le bâtiment des exams</h3>
<p>
Le bâtiment des examens. En tout cas pour certains. En 1A, tu feras tes contrôles (les CC) en même temps que toute
ta
promo. Autant dire que ya pas assez de place dans ce petit bâtiment. Certains feront donc leurs CC ici, d'autres
dans les amphis (en vrai les amphis c'est bien t'as de la place).
</p>
<h3>Le labo AIME</h3>
<p>
Jai dit tout à lheure que la salle des exams est petite, alors que sur le plan le bâtiment est super grand ! Mais
en fait cest très simple, le reste du bâtiment est occupé par un labo : AIME. C'est vraiment son nom, mais aucun
rapport avec ce que tu penses, ça veut juste dire "Atelier Interuniversitaire de Micro-nano Électronique". Mais
qu'est-ce donc que ce bâtiment mystérieux ? Bah cest un atelier partagé entre plusieurs écoles pour faire de la
micro et nano électronique. Vraiment, tas pas besoin den savoir plus (en tout cas je sais que ça), tu vas jamais y
aller.
</p>

View file

@ -1,6 +0,0 @@
<h3>Le GC</h3>
<p>
D'après la légende, ce bâtiment serait la maison des futurs ingés en construction ! Situé au fin fond de l'INSA, ce
bâtiment est presque inconnu des 1A. Peut-être feras tu quelques TD dans les salles de cet endroit plein de mystères,
à condition que tu trouves ta salle...
</p>

View file

@ -1,8 +0,0 @@
<h3>Le GEI</h3>
<p>
La maison des futurs électroniciens ou informaticiens ! Un endroit où tu vas passer du temps si t'as du mal en algo (et
oui, ya de l'algo en 1A), car du tutorat est organisé par les membres du club info. En fait, c'est le seul endroit
où tu peux avoir des salles en libre accès pour faire de l'Ada (le langage de programmation que t'apprends en 1A).
Si t'es gentil, peut être que les gars du club pourront te montrer comment faire de l'aglo directement sur ton ordi,
pour éviter d'aller au GEI dès que tu veux réviser (t'as pas intérêt à critiquer ma machine virtuelle !).
</p>

View file

@ -1,8 +0,0 @@
<h3>Le GM</h3>
<p>
La maison des futurs mécanos, les GM ! Tu vas passer un bon bout de temps ici, que ce soit pour les TP de TI, ou des
TD de différentes matières. Tu vas avoir ici une matière que tu ne connais pas du tout : les Techniques
Industrielles (sauf si tu viens de S.SI, là tu vas revoir ta première et terminale). Tu vas au premier semestre
réaliser un petit projet, et au second, tu vas faire de nombreux TP, des manips sympas, comme de la trempe d'acier, de
l'impression 3D, de la découpe, ... Bref, la TI c'est bien.
</p>

View file

@ -1,10 +0,0 @@
<h3>Le GMM</h3>
<p>
La maison des futurs matheux, les GMM ! Ya aussi l'amphi Fourier, mais tu vas pas vraiment y aller. Comme dans tout
le reste du bâtiment en fait. C'est le repère des profs de maths, et les élèves en 1A sont rarement invités...
</p>
<h3>Le CRI</h3>
<p>
Le Centre de Ressources Informatiques, encore un bâtiment où tu niras jamais. Cest le repère des admins de lINSA,
l'endroit où est géré linformatique de lécole. Ya pas vraiment besoin de savoir plus.
</p>

View file

@ -1,6 +0,0 @@
<h3>Le GP</h3>
<p>
La maison des futurs physiciens, les GP ! Tu vas pas aller très souvent ici, car contrairement à la chimie et la
thermo, tu vas pas faire tes TPs dans l'antre des physiciens, mais dans un bâtiment spécial, le bâtiment des TPs
(un nom original je sais). Qui sait, peut être iras tu dans cet endroit merveilleux lors d'un TD.
</p>

View file

@ -1,7 +0,0 @@
<h3>Le GPE</h3>
<p>
La maison des futurs chimistes, les ICBE ! Et ta maison pendant les TP de chimie et de thermo. Si manipuler des
solutions et des réservoirs adiabatiques c'est ton truc, tu vas te régaler. Sinon si t'es comme moi et que tu
comprends pas pourquoi quand t'as mis de la soude dans ton bécher c'est devenu bleu, beh bonne chance pour survivre
aux 4 heures de TP...
</p>

View file

@ -1,8 +0,0 @@
<h3>Le Gymnase</h3>
<p>
Le sport, obligatoire en 1A, avec au menu de la course au premier semestre, et d'autres sports au second. Tu
commenceras avec un test de performance, pour savoir si t'es dans le groupe des mauvais (marche nordique ou
endurance) ou dans le groupe des bons (2000m vitesse). Ce test ne change pas le sport que tu peux faire au second
semestre, donc pas de stress. Au second semestre, plusieurs sports te seront proposés, comme le rugby, le volley, la
lutte, la danse, ou encore le meilleur, le golf (en vrai c'est sympa, faut pas discriminer les gens comme ça).
</p>

View file

@ -1,5 +0,0 @@
<h3>La laverie</h3>
<p>
C'est un endroit que tu vas apprendre à connaître si tu rentres pas chez tes parents tous les week-ends. Si tu es au
R5 ou R6, pense bien à ta lessive, c'est quand même gênant de faire 3 fois l'aller-retour avec ton linge.
</p>

View file

@ -1,4 +0,0 @@
<h3>La Loge</h3>
<p>
Le lieu de rencontre pour récupérer les commandes de pizza. Ya aussi la sécurité et un plan de l'INSA.
</p>

View file

@ -1,8 +0,0 @@
<h3>Le PK</h3>
<p>
Le Ptit Kawa, appelé par certains le foyer étudiant. Mais PK ça sonne mieux. C'est LE lieu des soirées, avec la
salle de Boom juste à côté. Tu peux y aller un peu quand tu veux, ya presque tout le temps quelqu'un. Certains
aiment bien se retrouver là bas le midi. Des soirées sont régulièrement organisées pour décompresser des cours,
surtout le mercredi ou le jeudi. Il est maintenu par les étudiants, et il peut fonctionner que si tout le monde est
respectueux, donc fais la fête, mais sans tout casser stp.
</p>

View file

@ -1,13 +0,0 @@
<h3>Le R1</h3>
<p>
C'est la seule résidence du Crous à l'INSA. Elle est directement sur le campus, à 2 minutes des cours, du RU, de la
Cafet, du PK, bref c'est la mieux placée si t'aimes l'ambiance !
</p>
<p>
Il y a 6 étages, avec des appartements de 11, 15 et 18 mètres carrés avec pour la majorité la cuisine et les WC
communs. Mais il y a aussi un étage spécial : le 3ème. En effet, c'est l'étage des colocs, avec une cuisine et salle
de bain communes à deux appartements.
</p>
<p>
PS : pense à un frigo si t'as un 11 m²
</p>

View file

@ -1,6 +0,0 @@
<h3>Le R2</h3>
<p>
Située à 20 mètres du R1, cette résidence est elle aussi très bien placée si t'aimes l'ambiance et te lever tard.
Mais le R2 a un avantage écrasant sur toutes les autres résidences : la laverie. Et oui, tu n'as qu'à faire 2 pas
dehors pour aller laver ton linge, imagine un peu les pauvres du R5 et R6...
</p>

View file

@ -1,7 +0,0 @@
<h3>Le R3</h3>
<p>
Un endroit merveilleux pour pouvoir profiter du PK sans en entendre le bruit. Tout comme le R7, ils ont un
distributeur de pain, utile si t'as oublié d'acheter du ptit dej. Certains te diront que c'est l'endroit le plus
gazif de l'INSA, qu'ils ont des ascenseurs qui marchent et tout, mais je pense plutôt que c'est parce que ya le Prez
de ta semaine là bas, ils trichent un peu dans la plaquette (chuut, leur dit pas...).
</p>

View file

@ -1,8 +0,0 @@
<h3>Le R4</h3>
<p>
Tout le monde te dira que le R4 c'est le bout du monde (sauf ceux du R4), et je suis d'accord. Imagine un peu, tu
mets 1 minute de plus pour aller en cours que depuis le R7, inadmissible !
</p>
<p>
Si on oublie ce petit point négatif, le R4 est un endroit tranquille où tu pourras bosser et dormir en paix.
</p>

View file

@ -1,8 +0,0 @@
<h3>Le R5</h3>
<p>
C'est à coté du R6, mais c'est pas le R6 (attention, ils mordent quand tu les confonds). Le R5, c'est le coin des
sportifs, avec une salle de muscu et de danse au rez-de-chaussée, et le gymnase juste à côté. Ça reste loin des
bâtiments de cours (sauf celui du GC mais t'y vas presque jamais), mais ils vont te dire que c'est des sportifs. Ça
leur donne une excuse pour se balader en skate toute la journée. Quand toute ta classe habite là bas, ça devient
presque une maison familiale, avec chacun qui squatte dans les apparts des autres.
</p>

View file

@ -1,8 +0,0 @@
<h3>Le R6</h3>
<p>
C'est à coté du R5, mais c'est pas le R5 (attention, ils mordent quand tu les confonds). Le R6, c'est le coin des
sportifs, avec une salle de muscu et de danse au rez-de-chaussée, et le gymnase juste à côté. Ça reste loin des
bâtiments de cours (sauf celui du GC mais t'y vas presque jamais), mais ils vont te dire que c'est des sportifs. Ça
leur donne une excuse pour se balader en skate toute la journée. Quand toute ta classe habite là bas, ça devient
presque une maison familiale, avec chacun qui squatte dans les apparts des autres.
</p>

View file

@ -1,6 +0,0 @@
<h3>Le R7</h3>
<p>
Ah, le R7, c'est LA résidence de l'INSA ! Assez proche pour être à moins de 5 min de tous les endroits les plus
intéressants de l'INSA, et juste assez loin pour ne pas être dérangé par les bruits, même avec la fenêtre ouverte !
De plus, comme le R3, on a un distributeur de pain et de choco pour les gourmands (ou les étourdis).
</p>

View file

@ -1,6 +0,0 @@
<h3>Le RU</h3>
<p>
C'est le self, le Restaurant Universitaire. Tu vas apprendre à quelle vitesse une file d'attente peu grandir. Si
t'es là à 12h14, ya personne, mais à 12h16, ya 20 minutes d'attente. Autrement dit, dépêche-toi quand tu sors des cours.
Sinon, ya toujours la cafet sous la BIB quand t'as la flemme t'attendre.
</p>

View file

@ -1,10 +0,0 @@
<h3>Le STPI</h3>
<p>
Le bâtiment des 1A (toi) et les 2A (nous), aussi appelé le bâtiment des Amphis. C'est là dedans que tu vas passer la
majeure partie de ton temps. STPI ça
veut dire Sciences et Techniques Pour l'Ingénieur. En gros, c'est l'administration qui gère les 1A et 2A. Après
chaque spécialité (ou presque) a son bâtiment (GM, GC, GPE, GEI, GMM, ...) et son administration.
</p>
<p>
Si tu cherches l'Amphi Riquet et Vinci (je pense ils sont quand même assez bien indiqués), c'est là dedans.
</p>

View file

@ -1,6 +0,0 @@
<h3>Le bâtiment des TPs</h3>
<p>
Tu vas passer des heures dans ces salles de TPs, à faire de l'élec et de l'optique avec ton fameux binôme. C'est
l'occasion de mettre en pratique ce que t'as vu en cours. Et ça n'a rien à voir avec ce que tu faisais au lycée, ici
c'est intéressant.
</p>

View file

@ -1,5 +0,0 @@
<h3>Le Trou</h3>
<p>
C'est pas un bâtiment, c'est un trou. C'est LE lieu de rencontre des élèves avant les soirées, ou
pendant, ou après. Bref, c'est un trou devant les apparts, on peut s'asseoir, c'est cool.
</p>

10
map.php
View file

@ -4,8 +4,7 @@ ob_start(); // Start reading html
<h1>Le Plan</h1>
<p>
Voici le plan de ton nouveau campus, que tu vas connaître par cœur en quelques jours (fond de carte issu du site
<a
href="https://www.openstreetmap.org/#map=17/43.57103/1.46591">Open Street Map</a>).
<a href="https://www.openstreetmap.org/#map=17/43.57103/1.46591">Open Street Map</a>).
</p>
<p>
<strong>Clique sur un bâtiment pour voir les infos.</strong>
@ -20,13 +19,6 @@ ob_start(); // Start reading html
<?php echo file_get_contents("assets/images/map.svg"); ?>
</div>
<h1 id="info-box-top">Informations</h1>
<div id="infoBox">
<p>Clique sur un bâtiment pour afficher ses informations</p>
</div>
<?php
$pageContent = ob_get_clean(); // Store html content in variable
$pageTitle = "Plan";