Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions ReadMe.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
# QuestionsPourUnChampignon
## Auteur : Lucas Hureaux

### Ce projet est un quiz. Le but : répondre à toutes les questions. Plus de détails dans les instructions du quiz situés dans le menu principal.
**Auteur :** [Lucas Hureaux](https://github.com/LucBlocker01)

## Instructions :
Ce projet est un quiz. Le but : répondre à toutes les questions. Plus de détails dans les instructions du quiz situés dans le menu principal.

### 1. Si ce n'est pas déjà fait, télécharger PHP 8.1 au minimum (je ne sais pas si les versions antérieurs vont fonctionner pour ce projet). Des tutos sur Internet vous aiderons là-dessus.
## Instructions :

### 2. Ouvrir le répertoire principal du projet (le dossier dans laquelle se trouve ce fichier readme) et ouvrir la boîte de commande Powershell en faisant clic droit + shift et sélectionner "Ouvrir la fenêtre Powershell ici".
1. Si ce n'est pas déjà fait, télécharger PHP 8.1 au minimum (je ne sais pas si les versions antérieurs vont fonctionner pour ce projet). Des tutos sur Internet vous aiderons là-dessus.

### 3. Taper la commande suivante :
2. Ouvrir le répertoire principal du projet (le dossier dans laquelle se trouve ce fichier readme) et ouvrir la boîte de commande Powershell en faisant clic droit + shift et sélectionner "Ouvrir la fenêtre Powershell ici".

```php -S localhost:8000```
3. Taper la commande suivante : `php -S localhost:8000 -t public`

### 4. Ouvrir un navigateur web et taper dans la boîte URL "[localhost:8000/public/index.html](http://localhost:8000/public/index.html)"
4. Ouvrir un navigateur web et taper dans la boîte URL : [localhost:8000](http://localhost:8000)

### 5. Suivez les instructions en cliquant sur "Instructions" dans le menu principal
5. Suivez les instructions en cliquant sur "Instructions" dans le menu principal
44 changes: 0 additions & 44 deletions public/index.html

This file was deleted.

38 changes: 38 additions & 0 deletions public/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php

ob_start();
?>
<link rel="stylesheet" href="css/index.css">
<link rel="stylesheet" href="css/general.css">
<?php

$styles = ob_get_clean();

ob_start();
?>
<div class="difficulty">Choisir une difficulté</div>
<div class="difficultyList">
<button id="veryeasy">Très Facile</button>
<button id="easy">Facile</button>
<button id="medium">Moyen</button>
<button id="hard">Difficile</button>
<button id="extreme">Extrême</button>
<button id="impossible">Impossible</button>
</div>
<div class="buttonList">
<button id="start">Commencer</button>
<button id="instructions">Instructions</button>
</div>
<?php

$main = ob_get_clean();

ob_start();
?>
<script src="js/utils.js" defer></script>
<script src="js/index.js" defer></script>
<?php

$scripts = ob_get_clean();

require __DIR__ . "/../templates/layout.php";
51 changes: 0 additions & 51 deletions public/instructions.html

This file was deleted.

45 changes: 45 additions & 0 deletions public/instructions.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php

ob_start();
?>
<link rel="stylesheet" href="css/instructions.css">
<link rel="stylesheet" href="css/general.css">
<?php

$styles = ob_get_clean();

ob_start();
?>
<div class="instructions">Instructions</div>
<div class="instructionsText">
<div class="line">
QuestionsPourUnChampignon est un quiz composé de diverses questions,
certains plus difficiles que d'autres, auxquels vous devez répondre.
</div>
<div class="line">
Vous pouvez sélectionner plusieurs niveaux de difficulté. Les niveaux les plus bas seront plus indulgents, offrant davantage de vies et moins de choix de réponses, tandis que les niveaux plus élevés sont bien plus exigeants.
</div>
<div class="line">
Les niveaux élevés rajouteront des éléments supplémentaires comme un temps limité également.
</div>
<div class="line">
Pour gagner un niveau, vous devez répondre à toutes les questions de celui-ci sans perdre toutes vos vies.
</div>
<div class="line">
Serez-vous capables d'obtenir un score parfait?
</div>
</div>
<button id="backToMenu">Retour</button>
<?php

$main = ob_get_clean();

ob_start();
?>
<script src="js/utils.js" defer></script>
<script src="js/backToMenu.js" defer></script>
<?php

$scripts = ob_get_clean();

require __DIR__ . "/../templates/layout.php";
2 changes: 1 addition & 1 deletion public/js/backToMenu.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
document.getElementById("backToMenu").addEventListener("click", function() {
clearStorage();
location.replace("index.html");
location.replace("/");
})
2 changes: 1 addition & 1 deletion public/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ document.getElementById("start").addEventListener("click", function() {
});

document.getElementById("instructions").addEventListener("click", function() {
location.replace("instructions.html");
location.replace("instructions.php");
});

if (!localStorage.getItem("difficulty")) {
Expand Down
2 changes: 1 addition & 1 deletion public/js/lose.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
document.addEventListener("DOMContentLoaded", function() {
if (!localStorage.getItem("currentQuestion")) {
location.replace("index.html");
location.replace("/");
}
})

Expand Down
2 changes: 1 addition & 1 deletion public/js/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ async function quizFetcher() {
break;
}
localStorage.setItem("totalLives", lives)
response = await fetch("http://localhost:8000/src/quizCreator.php", {
response = await fetch("/quizCreator.php", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
Expand Down
7 changes: 7 additions & 0 deletions public/quizCreator.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

require __DIR__ . "/../src/classes/Quiz.php";

$quiz = new Quiz();

echo json_encode($quiz);
2 changes: 1 addition & 1 deletion src/classes/Question.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ public function toArray(){
"correctAnswer" => $this->correctAnswer
];
}
}
}
4 changes: 2 additions & 2 deletions src/classes/Quiz.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

require "questionGenerator.php";
require __DIR__ . "/../questionGenerator.php";

class Quiz implements JsonSerializable {
private int $lives;
Expand All @@ -20,4 +20,4 @@ public function jsonSerialize(): mixed {
'difficulty' => $this->difficulty
];
}
}
}
4 changes: 2 additions & 2 deletions src/questionGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
header("Access-Control-Allow-Headers: Content-Type, Authorization");
header("Content-Type: application/json; charset=UTF-8");

require "classes/Question.php";
require __DIR__ . "/classes/Question.php";

function generateQuestions($difficulty) {
switch ($difficulty) {
Expand Down Expand Up @@ -296,4 +296,4 @@ function generateQuestions($difficulty) {

return $questions;

}
}
7 changes: 0 additions & 7 deletions src/quizCreator.php

This file was deleted.

30 changes: 30 additions & 0 deletions templates/layout.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<title>QuestionsPourUnChampignon</title>
<meta name="viewport" content="width=device-width" initial-scale="1">
<link rel="icon" type="image/png" sizes="16x16" href="favicon.ico">
<?= $styles ?? "" ?>
</head>
<body>
<div class="header">
<div class="sidebar">

</div>
<div class="mainbar">
<div>QuestionsPourUnChampignon</div>
</div>
<div class="sidebar">

</div>
</div>
<div class="content">
<div class="filler"></div>
<main class="mainContent">
<?= $main ?? "" ?>
</main>
<div class="filler"></div>
</div>
<?= $scripts ?? "" ?>
</body>
</html>