refonte enigme solo

ServeurDeTest
Noé GARNIER 2 years ago
parent a703bcf76e
commit b307452321

@ -30,6 +30,7 @@ $vues['next'] = 'View/src/pages/FirstTests/FirstTest';
// Enigme // Enigme
$vues['enigme'] = 'View/src/pages/Enigme/Palindrome.html'; $vues['enigme'] = 'View/src/pages/Enigme/Palindrome.html';
$vues['chouette'] = 'View/src/pages/Enigme/Chouette.html'; $vues['chouette'] = 'View/src/pages/Enigme/Chouette.html';
$vues['cesarEncrypt'] = 'View/src/pages/Enigme/CesarEncrypt.html';
//Error //Error
$vues['erreur'] = 'View/src/pages/Erreur.php'; $vues['erreur'] = 'View/src/pages/Erreur.php';

@ -29,6 +29,9 @@ class UserController
case "goToChouette" : case "goToChouette" :
$model->goToChouette(); $model->goToChouette();
break; break;
case "goToCesarEncrypt":
$model->goToCesarEncrypt();
break;
case "goToQueue": case "goToQueue":
$model->goToQueue(); $model->goToQueue();
break; break;

@ -61,6 +61,16 @@ class UserModel
require($rep . $vues['erreur']); require($rep . $vues['erreur']);
} }
} }
public function goToCesarEncrypt()
{
global $rep, $vues, $error;
try {
require($rep . $vues['cesarEncrypt']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToTest() public function goToTest()
{ {

Binary file not shown.

@ -0,0 +1,102 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Code César</title>
<link rel="stylesheet" href="../../CSS/Enigme.css"/>
<link rel="stylesheet" href="../../CSS/Home.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<style>
html{
background-image: url(../../../assets/img/Background4.jpg);
}
</style>
</head>
<body>
<div class="enigme">
<div class="titre_pre">
<div class="retour">
<a class="material-icons" id="home" href="../Home.html" style="font-size:36px;color:white;">home</a>
</div>
<div class="sign">
<h1>
<span class="fast-flicker">c</span>
<span>es</span>
<span class="flicker">a</span>
<span>r</span>
</h1>
</div><br>
</div>
<h2>Consigne</h2><br>
<p class="enonce">
Écrire une fonction Encrypt qui prend en argument un message et une clé et qui retourne le message crypté avec le code César.(les espace ne seront pas encodé.)
</p><br><br>
<h2>Rappel</h2><br>
<p class="rappel">Le code César (ou chiffre de César ) est un chiffrement par substitution,
<br>où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l'alphabet .
<br>Par exemple A avec une clé 2 devient C.
</p><br><br>
<h2>Exemple</h2><br>
<p>Entrée :&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;Sortie :</p>
<p>'fbehu',3&emsp;&emsp;&emsp;&emsp;&emsp;&nbsp;cyber</p><br><br>
<h2>Aide</h2><br>
<p>
La fonction ord(char) de python permet de retourner lUnicode (standard dencodage de caractères) d'un caractère. Par exemple, ord('a') retourné '97' et ord('b) retourne 98.
</p>
</div>
<div class='ace' id='editor'>def Encrypt(text, key):
result = ""
for i in range(len(text)):
char = text[i]
if(char==" "):
result+=" "
elif (char.isupper()):
result += chr((ord(char) + key-65) % 26 + 65)
else:
result += chr((ord(char) + key - 97) % 26 + 97)
return result</div>
<div class='compiler_class'>
<textarea id='console' readonly rows="30" cols="100"></textarea>
<div class="buttons">
<div>
<a onclick="run_init()" class="btn">
<span class="noAnimation">Run</span>
</a>
<a href="#m1-o" onclick="submit()" class="btn">
<span class="noAnimation">Submit</span>
</a>
</div>
</div>
</div>
<div class="modal-container" id="m1-o" style="--m-background: transparent;">
<div class="modal">
<div id="containerResult">
<h1 id="result"></h1>
</div>
<div class="buttons">
<div id="top">
<a href="#" class="btn">
<span class="noAnimation">x</span>
</a>
</div>
<div id="bottom">
<a href="CesarDecrypt.html" class="btn" id="fleche">
<span class="noAnimation">Next</span>
</a>
</div>
</div>
</div>
</div>
<script src="https://ajaxorg.github.io/ace-builds/src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
<script src="https://raw.githack.com/pythonpad/brython-runner/master/lib/brython-runner.bundle.js" type="text/javascript" charset="utf-8"></script>
<script src="../../JS/base.js"></script>
<script src="../../JS/cesarEncrypt.js"></script>
</body>
</html>

@ -1,102 +1,191 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="fr"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Code Cesar</title>
<title>Code César</title> <link
<link rel="stylesheet" href="../../CSS/Enigme.css"/> rel="stylesheet"
<link rel="stylesheet" href="../../CSS/Home.css"> href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css"
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I"
<style> crossorigin="anonymous"
html{ />
background-image: url(../../../assets/img/Background4.jpg); <script
} src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
</style> integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"
></script>
<script
src="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js"
integrity="sha384-oesi62hOLfzrys4LxRF63OJCXdXDipiYWBnvTl9Y9/TRlw5xlKIEHpNyvvDShgf/"
crossorigin="anonymous"
></script>
<link
rel="stylesheet"
href="https://fonts.googleapis.com/icon?family=Material+Icons"
/>
<link rel="stylesheet" href="View/src/CSS/Enigme.css" />
</head> </head>
<body> <body>
<div class="enigme"> <div class="container-fluid px-5">
<div class="titre_pre"> <!-- First Row -->
<div class="retour"> <div class="row py-4">
<a class="material-icons" id="home" href="../Home.html" style="font-size:36px;color:white;">home</a> <div class="col-9 d-flex align-items-center px-0">
</div> <a
<div class="sign"> class="material-icons pl-0"
<h1> id="home"
<span class="fast-flicker">c</span> href="index.php?action=goToHome"
<span>es</span> style="font-size: 40px; color: white"
<span class="flicker">a</span> >home</a
<span>r</span> >
</h1> </div>
</div><br> <button
</div> style="background-color: transparent; border: none"
<h2>Consigne</h2><br> onclick="displayHelp()"
<p class="enonce"> class="col-3 d-flex align-items-center"
Écrire une fonction Encrypt qui prend en argument un message et une clé et qui retourne le message crypté avec le code César.(les espace ne seront pas encodé.) >
</p><br><br> <div class="col-10 text-right px-3">
<h2>Rappel</h2><br> <p style="font-size: 14px; color: white"><b>Besoin d'aide ?</b></p>
<p class="rappel">Le code César (ou chiffre de César ) est un chiffrement par substitution, </div>
<div class="col-2 text-right">
<img
src="View/assets/img/Foxy.png"
alt="Logo"
class="rounded-circle moving-fox"
style="border: 1px solid #44fff6; width: 60px; height: 60px"
/>
</div>
</button>
</div>
<!-- End First Row -->
<!-- Second Row -->
<div class="row">
<!-- First Column -->
<div
class="col-3 rounded p-3"
style="background-color: #222831; min-height: 80vh; height: auto"
>
<h2 class="text-left py-3" style="color: #44fff6; font-weight: 500">
Code Cesar
</h2>
<p>
Écrire une fonction <b style="color : violet">Encrypt</b> qui prend en argument un message et une clé
et qui retourne le message crypté avec le code <b style="color: violet;">César</b>.(les espace ne seront pas encodé.)
</p>
<h3 class="text-left pb-3 pt-5" style="color: #44fff6">Rappel</h3>
<p>
Le code César (ou chiffre de César ) est un chiffrement par substitution,
<br>où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l'alphabet . <br>où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l'alphabet .
<br>Par exemple A avec une clé 2 devient C. <br>Par exemple A avec une clé 2 devient C.
</p><br><br> </p>
<h2>Exemple</h2><br> <h3 class="text-left pb-3 pt-5" style="color: #44fff6">Exemple</h3>
<p>Entrée :&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;Sortie :</p> <p>Entrée :&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;Sortie :</p>
<p>'fbehu',3&emsp;&emsp;&emsp;&emsp;&emsp;&nbsp;cyber</p><br><br> <p>'fbehu',3&emsp;&emsp;&emsp;&emsp;&emsp;&nbsp;cyber</p><br><br>
<h2>Aide</h2><br> <h3
<p> class="text-left pb-3 pt-5 help"
La fonction ord(char) de python permet de retourner lUnicode (standard dencodage de caractères) d'un caractère. Par exemple, ord('a') retourné '97' et ord('b) retourne 98. style="color: #44fff6; display: none"
>
Aide
</h3>
<p style="display: none" class="help">
La fonction <b style="color: violet;">ord(char)</b> de python permet de retourner l'<b style="color: red">Unicode</b> (standard dencodage de caractères) d'un caractère.
Par exemple, <b style="color: violet;">or('a')</b> retourné '<b style="color: green;">97</b>' et <b style="color: violet;">ord('b'))</b> retourne '<b style="color: green;">98</b>'.
</p> </p>
</div> </div>
<div class='ace' id='editor'>def Encrypt(text, key): <!-- End First Column -->
result = ""
for i in range(len(text)): <!-- Second Column -->
char = text[i] <div class="col-5 pr-0">
if(char==" "): <div class="ace rounded" id="editor">def estPalindrome(var):
result+=" " </div>
elif (char.isupper()): </div>
result += chr((ord(char) + key-65) % 26 + 65) <!-- End Second Column -->
else:
result += chr((ord(char) + key - 97) % 26 + 97) <!-- Third Column -->
return result</div> <div class="col-4">
<div class='compiler_class'> <textarea
<textarea id='console' readonly rows="30" cols="100"></textarea> id="console"
<div class="buttons"> readonly
<div> style="width: 100%; min-height: 65vh; height: auto"
class="p-3 rounded"
></textarea>
<div class="row pt-5 text-center" style="cursor: pointer">
<div class="col-6">
<a onclick="run_init()" class="btn"> <a onclick="run_init()" class="btn">
<span class="noAnimation">Run</span> <span>Run</span>
</a>
<a href="#m1-o" onclick="submit()" class="btn">
<span class="noAnimation">Submit</span>
</a> </a>
</div> </div>
<div class="col-6">
<button
onclick="submit()"
class="btn"
data-toggle="modal"
data-target="#modal"
>
<span>Submit</span>
</button>
</div>
</div>
</div> </div>
<!-- End Third Column -->
</div>
<!-- End Second Row -->
</div> </div>
<div class="modal-container" id="m1-o" style="--m-background: transparent;"> <!-- Modal -->
<div class="modal"> <div
<div id="containerResult"> class="modal fade"
<h1 id="result"></h1> id="modal"
</div> tabindex="-1"
<div class="buttons"> role="dialog"
<div id="top"> aria-labelledby="exampleModalCenterTitle"
<a href="#" class="btn"> aria-hidden="true"
<span class="noAnimation">x</span> >
</a> <div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h2
class="modal-title"
id="exampleModalLongTitle"
style="color: black"
>
Results
</h2>
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<h5 id="result" style="color: black"></h5>
</div> </div>
<div id="bottom"> <div class="modal-footer">
<a href="CesarDecrypt.html" class="btn" id="fleche"> <a href="index.php?action=goToChouette" class="btn" style="display: none" id="next">
<span class="noAnimation">Next</span> <span>NEXT</span>
</a> </a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- End Modal -->
<script
src="https://ajaxorg.github.io/ace-builds/src-noconflict/ace.js"
type="text/javascript"
<script src="https://ajaxorg.github.io/ace-builds/src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script> charset="utf-8"
<script src="https://raw.githack.com/pythonpad/brython-runner/master/lib/brython-runner.bundle.js" type="text/javascript" charset="utf-8"></script> ></script>
<script src="../../JS/base.js"></script> <script
<script src="../../JS/cesarEncrypt.js"></script> src="https://raw.githack.com/pythonpad/brython-runner/master/lib/brython-runner.bundle.js"
type="text/javascript"
charset="utf-8"
></script>
<script src="View/src/JS/base.js"></script>
<script src="View/src/JS/cesarEncrypt.js"></script>
</body> </body>
</html> </html>

@ -168,7 +168,7 @@
<h5 id="result" style="color: black"></h5> <h5 id="result" style="color: black"></h5>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="index.php?action=goToChouette" class="btn" style="display: none" id="next"> <a href="index.php?action=goToCesarEncrypt" class="btn" style="display: none" id="next">
<span>NEXT</span> <span>NEXT</span>
</a> </a>
</div> </div>
@ -188,6 +188,6 @@
charset="utf-8" charset="utf-8"
></script> ></script>
<script src="View/src/JS/base.js"></script> <script src="View/src/JS/base.js"></script>
<script src="View/src/JS/palindrome.js"></script> <script src="View/src/JS/chouette.js"></script>
</body> </body>
</html> </html>

Loading…
Cancel
Save