Merge LoginPart into Master

pull/21/head
tomivt 5 months ago
commit 77c9bbe67a

File diff suppressed because it is too large Load Diff

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/vendor/composer" />
<path value="$PROJECT_DIR$/vendor/altorouter/altorouter" />
<path value="$PROJECT_DIR$/vendor/twig/twig" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php81" />
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="8.3" />
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

@ -5,8 +5,30 @@
</component>
<component name="ChangeListManager">
<list default="true" id="afa12d51-331f-4dbc-a297-7289ad4e396d" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/.idea/dataSources/351a7e7c-c4d1-4e89-bf03-667b32764270.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/dataSources/351a7e7c-c4d1-4e89-bf03-667b32764270/storage_v2/_src_/database/dbwikifantasy.OCIa2Q/schema/public.abK9xQ.meta" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/2b/2b8002d11829b35f2fea035ddfbce126.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/6d/6de321060ef2387bc16f534fbbd8a0cb.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/b7/b796d974978e55de5fca49741812ff6b.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/b9/b9f06cf0c28af20c02697ea9f4c33b34.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/bb/bb0d1fc28ee0b67e6ef4c12688a04e9a.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/c8/c8a54737c049d7059e9d4f0d28a162e3.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/cb/cb360548e4152dd6e9238cff38b4a902.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/ee/ee32d9ec220b231a48d39e55d4bc37a0.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cache/f2/f21f963662b38a0c5b3c81b499f82bfb.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/vue/templates/login.html.twig" afterDir="false" />
<change afterPath="$PROJECT_DIR$/vue/templates/signin.html.twig" afterDir="false" />
<change afterPath="$PROJECT_DIR$/vue/templates/signin2.html.twig" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Controleur/QuizController.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Controleur/QuizController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/public/styles/styleLogin.css" beforeDir="false" afterPath="$PROJECT_DIR$/public/styles/styleLogin.css" afterDir="false" />
<change beforePath="$PROJECT_DIR$/public/styles/styleSignin.css" beforeDir="false" afterPath="$PROJECT_DIR$/public/styles/styleSignin.css" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Controleur/QuizControler.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Controleur/QuizControler.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Controleur/VisitorControler.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Controleur/VisitorControler.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Entity/userEntity.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Entity/userEntity.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Gateway/userGateway.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Gateway/userGateway.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Model/userModel.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Model/userModel.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vue/templates/profil.html" beforeDir="false" afterPath="$PROJECT_DIR$/vue/templates/profil.html.twig" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vue/templates/quote.html" beforeDir="false" afterPath="$PROJECT_DIR$/vue/templates/quote.html.twig" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -77,7 +99,7 @@
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.ShowReadmeOnStart": "true",
"git-widget-placeholder": "quizPart",
"git-widget-placeholder": "Merging master",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
@ -113,7 +135,15 @@
<option name="presentableId" value="Default" />
<updated>1730794293135</updated>
<workItem from="1730794294713" duration="2741000" />
<workItem from="1730797544484" duration="43165000" />
<workItem from="1730797544484" duration="27887000" />
<workItem from="1731254310060" duration="6803000" />
<workItem from="1731266281659" duration="3339000" />
<workItem from="1731284706585" duration="215000" />
<workItem from="1731284930148" duration="2692000" />
<workItem from="1731335752621" duration="4170000" />
<workItem from="1731342597283" duration="1536000" />
<workItem from="1731407652445" duration="715000" />
<workItem from="1731501246750" duration="16824000" />
</task>
<servers />
</component>

@ -0,0 +1,127 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* signin2.html.twig */
class __TwigTemplate_487259351c054531e82d7ec374d515ee extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleSignin.css\" media=\"screen\">
<title>Wiki Fantasy : Inscription</title>
<link id=\"favicon\" rel=\"icon\" href=\"../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ S'inscrazeazeazeire ◀</h1>
<form method=\"post\">
<div class=\"signin\">
<div class=\"DivId\">
<p>Identifiant *</p>
<input type=\"text\" class=\"champ\" id=\"pseudo\" name=\"pseudo\" placeholder=\"Id\" required/>
</div>
<div class=\"DivEmail\">
<p>Email *</p>
<input type=\"email\" class=\"champ\" id=\"email\" name=\"email\" required/>
</div>
<div class=\"mdp\">
<p>Mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"mdp\" name=\"mdp\" required placeholder=\"Entrez votre mot de passe\"/>
</div>
<div class=\"confmdp\">
<p>Confirmer mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"cmdp\" name=\"cmdp\" placeholder=\"Confirmez votre mot de passe\" required/>
</div>
<div class=\"imgprof\">
<p>Image *</p>
</div>
<div class=\"confirmer\">
<input type=\"submit\" class=\"btn\" value=\"Inscription\" />
</div>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "signin2.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "signin.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/signin2.html.twig");
}
}

@ -0,0 +1,144 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* signin4.html.twig */
class __TwigTemplate_02d73cdfa663473648587454068306f0 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleSignin.css\" media=\"screen\">
<title>Wiki Fantasy : Inscription</title>
<link id=\"favicon\" rel=\"icon\" href=\"../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ ";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield " ◀</h1>
<form method=\"post\">
<div class=\"signin\">
<div class=\"DivId\">
<p>Identifiant *</p>
<input type=\"text\" class=\"champ\" id=\"pseudo\" name=\"pseudo\" placeholder=\"Id\" required/>
</div>
<div class=\"DivEmail\">
<p>Email *</p>
<input type=\"email\" class=\"champ\" id=\"email\" name=\"email\" required/>
</div>
<div class=\"mdp\">
<p>Mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"mdp\" name=\"mdp\" required placeholder=\"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\"/>
</div>
<div class=\"confmdp\">
<p>Confirmer mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"cmdp\" name=\"cmdp\" placeholder=\"";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\" required/>
</div>
<div class=\"imgprof\">
<p>Image *</p>
</div>
<div class=\"confirmer\">
<input type=\"submit\" class=\"btn\" value=\"Inscription\" />
</div>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "signin4.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 97 => 48, 89 => 43, 71 => 28, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "signin4.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/signin4.html.twig");
}
}

@ -0,0 +1,114 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* login.html.twig */
class __TwigTemplate_07a755596da3dba7ab89ea161b697e55 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleLogin.css\" media=\"screen\">
<title>Wiki Fantasy : Connexion</title>
<link id=\"favicon\" rel=\"icon\" href=\"../../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\">
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\">
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ Connexion ◀</h1>
<form class=\"login\" method=\"post\">
<p> <strong>Identifiant *</strong></p>
<input type=\"text\" class=\"connexion\" name=\"pseudo\" id=\"pseudo\" placeholder=\"Entrez votre pseudo ...\" required />
<p> <strong> Mot de passe *</strong></p>
<input type=\"password\" class=\"connexion\" name=\"mdp\" id=\"mdp\" placeholder=\"Entrez votre mdp ...\" required />
<div class=\"createAccount\">
<p class=\"createAccount\">Vous n'avez pas de compte?</p>
<a href=\"signin.html.twig\" class=\"createAccount\">S'incrire</a>
</div>
<div class=\"buttonSubmitDiv\">
<button class=\"buttonSudmite\">Connexion</button>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "login.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "login.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/login.html.twig");
}
}

@ -0,0 +1,144 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* signin5.html.twig */
class __TwigTemplate_b1f0b539b8066ca5a58d316472e062b0 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleSignin.css\" media=\"screen\">
<title>Wiki Fantasy : Inscription</title>
<link id=\"favicon\" rel=\"icon\" href=\"../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ ";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["test"] ?? null), "html", null, true);
yield " ◀</h1>
<form method=\"post\">
<div class=\"signin\">
<div class=\"DivId\">
<p>Identifiant *</p>
<input type=\"text\" class=\"champ\" id=\"pseudo\" name=\"pseudo\" placeholder=\"Id\" required/>
</div>
<div class=\"DivEmail\">
<p>Email *</p>
<input type=\"email\" class=\"champ\" id=\"email\" name=\"email\" required/>
</div>
<div class=\"mdp\">
<p>Mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"mdp\" name=\"mdp\" required placeholder=\"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\"/>
</div>
<div class=\"confmdp\">
<p>Confirmer mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"cmdp\" name=\"cmdp\" placeholder=\"";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\" required/>
</div>
<div class=\"imgprof\">
<p>Image *</p>
</div>
<div class=\"confirmer\">
<input type=\"submit\" class=\"btn\" value=\"Inscription\" />
</div>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "signin5.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 97 => 48, 89 => 43, 71 => 28, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "signin5.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/signin5.html.twig");
}
}

@ -0,0 +1,144 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* signin6.html.twig */
class __TwigTemplate_7a4f39ed5cce012c6d4972b06e431782 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleSignin.css\" media=\"screen\">
<title>Wiki Fantasy : Inscription</title>
<link id=\"favicon\" rel=\"icon\" href=\"../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ ";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["test"] ?? null), "html", null, true);
yield " ◀</h1>
<form method=\"post\">
<div class=\"signin\">
<div class=\"DivId\">
<p>Identifiant *</p>
<input type=\"text\" class=\"champ\" id=\"pseudo\" name=\"pseudo\" placeholder=\"Id\" required/>
</div>
<div class=\"DivEmail\">
<p>Email *</p>
<input type=\"email\" class=\"champ\" id=\"email\" name=\"email\" required/>
</div>
<div class=\"mdp\">
<p>Mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"mdp\" name=\"mdp\" required placeholder=\"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\"/>
</div>
<div class=\"confmdp\">
<p>Confirmer mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"cmdp\" name=\"cmdp\" placeholder=\"";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\" required/>
</div>
<div class=\"imgprof\">
<p>Image *</p>
</div>
<div class=\"confirmer\">
<input type=\"hidden\" class=\"btn\" name=\"action\" value=\"validsignin\" />
</div>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "signin6.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 97 => 48, 89 => 43, 71 => 28, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "signin6.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/signin6.html.twig");
}
}

@ -0,0 +1,144 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* signin7.html.twig */
class __TwigTemplate_179113c369ca1501764a939233b8ee58 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleSignin.css\" media=\"screen\">
<title>Wiki Fantasy : Inscription</title>
<link id=\"favicon\" rel=\"icon\" href=\"../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ ";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["test"] ?? null), "html", null, true);
yield " ◀</h1>
<form method=\"post\">
<div class=\"signin\">
<div class=\"DivId\">
<p>Identifiant *</p>
<input type=\"text\" class=\"champ\" id=\"pseudo\" name=\"pseudo\" placeholder=\"Id\" required/>
</div>
<div class=\"DivEmail\">
<p>Email *</p>
<input type=\"email\" class=\"champ\" id=\"email\" name=\"email\" required/>
</div>
<div class=\"mdp\">
<p>Mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"mdp\" name=\"mdp\" required placeholder=\"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\"/>
</div>
<div class=\"confmdp\">
<p>Confirmer mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"cmdp\" name=\"cmdp\" placeholder=\"";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\" required/>
</div>
<div class=\"imgprof\">
<p>Image *</p>
</div>
<div class=\"confirmer\">
<input type=\"submit\" class=\"btn\" name=\"action\" value=\"validsignin\" />
</div>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "signin7.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 97 => 48, 89 => 43, 71 => 28, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "signin7.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/signin7.html.twig");
}
}

@ -0,0 +1,144 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* signin1.html.twig */
class __TwigTemplate_c5ff4ebd3f89e0ca0a1643dfb2cba640 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleSignin.css\" media=\"screen\">
<title>Wiki Fantasy : Inscription</title>
<link id=\"favicon\" rel=\"icon\" href=\"../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ ";
// line 28
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["test"] ?? null), "html", null, true);
yield " ◀</h1>
<form method=\"post\">
<div class=\"signin\">
<div class=\"DivId\">
<p>Identifiant *</p>
<input type=\"text\" class=\"champ\" id=\"pseudo\" name=\"pseudo\" placeholder=\"Id\" required/>
</div>
<div class=\"DivEmail\">
<p>Email *</p>
<input type=\"email\" class=\"champ\" id=\"email\" name=\"email\" required/>
</div>
<div class=\"mdp\">
<p>Mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"mdp\" name=\"mdp\" required placeholder=\"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\"/>
</div>
<div class=\"confmdp\">
<p>Confirmer mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"cmdp\" name=\"cmdp\" placeholder=\"";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\" required/>
</div>
<div class=\"imgprof\">
<p>Image *</p>
</div>
<div class=\"confirmer\">
<input type=\"submit\" class=\"btn\" name=\"action\" value=\"validsignin\" />
</div>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "signin1.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 97 => 48, 89 => 43, 71 => 28, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "signin1.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/signin1.html.twig");
}
}

@ -0,0 +1,127 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* signin.html.twig */
class __TwigTemplate_f3fb3bd89b84ec5439a034a1b7acb44e extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleSignin.css\" media=\"screen\">
<title>Wiki Fantasy : Inscription</title>
<link id=\"favicon\" rel=\"icon\" href=\"../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ S'inscrire ◀</h1>
<form method=\"post\">
<div class=\"signin\">
<div class=\"DivId\">
<p>Identifiant *</p>
<input type=\"text\" class=\"champ\" id=\"pseudo\" name=\"pseudo\" required/>
</div>
<div class=\"DivEmail\">
<p>Email *</p>
<input type=\"email\" class=\"champ\" id=\"email\" name=\"email\" required/>
</div>
<div class=\"mdp\">
<p>Mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"mdp\" name=\"mdp\" required/>
</div>
<div class=\"confmdp\">
<p>Confirmer mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"cmdp\" name=\"cmdp\" required/>
</div>
<div class=\"imgprof\">
<p>Image *</p>
</div>
<div class=\"confirmer\">
<input type=\"submit\" class=\"btn\" value=\"Inscription\" />
</div>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "signin.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "signin.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/signin.html.twig");
}
}

@ -0,0 +1,141 @@
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* signin3.html.twig */
class __TwigTemplate_13f68f972002b997fce4f87301b50b63 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
// line 1
yield "<!DOCTYPE html>
<html lang=\"fr\">
<head>
<meta charset=\"UTF-8\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"../public/styles/styleSignin.css\" media=\"screen\">
<title>Wiki Fantasy : Inscription</title>
<link id=\"favicon\" rel=\"icon\" href=\"../images/iconeSombre.ico\"> <!-- Par défaut sombre -->
<link href=\"https://fonts.googleapis.com/css2?family=Lemon&display=swap\" rel=\"stylesheet\">
<script defer src=\"../public/script/theme-toggle.js\"></script>
</head>
<body>
<div class=\"container\">
<div class=\"header\">
<div class=\"nav\">
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
</div>
<div class=\"logo\">
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
</div>
<div class=\"user\">
<img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\">
</div>
</div>
</div>
<h1>▶ lo ◀</h1>
<form method=\"post\">
<div class=\"signin\">
<div class=\"DivId\">
<p>Identifiant *</p>
<input type=\"text\" class=\"champ\" id=\"pseudo\" name=\"pseudo\" placeholder=\"Id\" required/>
</div>
<div class=\"DivEmail\">
<p>Email *</p>
<input type=\"email\" class=\"champ\" id=\"email\" name=\"email\" required/>
</div>
<div class=\"mdp\">
<p>Mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"mdp\" name=\"mdp\" required placeholder=\"";
// line 43
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\"/>
</div>
<div class=\"confmdp\">
<p>Confirmer mot de passe *</p>
<input type=\"password\" class=\"champ\" id=\"cmdp\" name=\"cmdp\" placeholder=\"";
// line 48
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["errors"] ?? null), "html", null, true);
yield "\" required/>
</div>
<div class=\"imgprof\">
<p>Image *</p>
</div>
<div class=\"confirmer\">
<input type=\"submit\" class=\"btn\" value=\"Inscription\" />
</div>
</div>
</form>
</body>
</html>";
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "signin3.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 94 => 48, 86 => 43, 42 => 1,);
}
public function getSourceContext(): Source
{
return new Source("", "signin3.html.twig", "/Users/kiem/Documents/WikiFantasy/WF-Website/vue/templates/signin3.html.twig");
}
}

@ -98,7 +98,7 @@ body.light-mode .createAccount{
font-family: "Lemon", serif;
}
body.light-mode .buttonSudmite{
body.light-mode .buttonSubmit{
background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%);
font-family: "Lemon", serif;
border: none;
@ -123,7 +123,7 @@ body.light-mode .connexion{
/* ====== DEFAULT ====== */
.buttonSudmiteDiv{
.buttonSubmitDiv{
text-align: center;
}

@ -117,4 +117,26 @@ body.light-mode .btn{
body.light-mode .champ{
background-color: #fff1f1;
border: 1px solid #000000;
}
}
body.dark-mode .connectAccount{
margin-top: 5%;
margin-bottom: 5%;
font-size: 13px;
text-align: center;
padding-top: 1%;
color: white;
border: 1px solid transparent;
font-family: "Lemon", serif;
}
body.light-mode .connectAccount{
margin-top: 5%;
margin-bottom: 5%;
font-size: 13px;
text-align: center;
padding-top: 1%;
color: black;
font-family: "Lemon", serif;
}

@ -30,7 +30,7 @@ class QuizControler
* @throws RuntimeError
* @throws LoaderError
*/
public function __construct(Connection $co)
public function __construct(Connection $co, ?string $action = null)
{
$this -> co = $co;
$this -> gw = new QuestionGateway($this -> co);

@ -1,48 +1,179 @@
<?php
namespace Controleur;
use Model\QuoteModel;
use Gateway\Connection;
use Gateway\QuoteGateway;
use Gateway\AccueilGateway;
use Gateway\UserGateway;
use Model\UserModel;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Error\SyntaxError;
class VisitorControler {
Class VisitorControler {
private QuoteModel $qMod;
private AccueilGateway $accueilGateway;
private Connection $co;
private UserGateway $gw;
public function __construct() {
global $co;
$this->qMod = new QuoteModel(new QuoteGateway($co));
$this->accueilGateway = new AccueilGateway($co);
}
private UserModel $mdl;
public function accueil() {
global $vues;
private array $errors;
// Récupérer la citation du jour via AccueilGateway
$citationDuJour = $this->accueilGateway->getQuoteOfTheDay('fr');
$suggestions = $this->accueilGateway->getSuggestions(0, 'fr');
/**
* @throws SyntaxError
* @throws RuntimeError
* @throws LoaderError
*/
public function __construct(Connection $co, string $action) {
$this->co = $co;
$this->gw = new UserGateway($this->co);
$this->mdl = new UserModel($this->gw);
$this -> getAction($action);
}
// Passer les données à la vue
/**
* @throws SyntaxError
* @throws RuntimeError
* @throws LoaderError
*/
public function getAction(string $action): void
{
switch ($action) {
case "login":
$this -> visitorLogIn();
break;
case "signin":
$this -> visitorSignIn();
break;
case "validsignin":
$this -> toSignIn();
break;
case "validlogin":
$this -> toLogIn();
break;
default:
break;
}
}
public function accueil(){
global $vues;
require_once $vues['accueil'];
}
public function quote(array $arg) {
public function quote(array $arg){
global $vues;
$id=$arg['idQuote'] ?? 1;
$id=$arg['idQuote'];
$q = $this->qMod->searchId($id);
//echo "{$id}";
require_once $vues['quote'];
}
public function login() {
global $vues;
require_once $vues['login'];
/**
* @throws SyntaxError
* @throws RuntimeError
* @throws LoaderError
*/
public function visitorLogIn(): void
{
global $twig;
echo $twig->render("login.html.twig");
$this -> toLogIn();
}
public function signin() {
global $vues;
require_once $vues['signin'];
public function toLogIn() : void
{
if ($_POST)
{
$pseudo = $_POST['pseudo'] ?? null;
$mdp = $_POST['mdp'] ?? null;
$user = $this -> mdl -> getUsername($pseudo);
if ($user)
{
if (password_verify($mdp, $user->getPassword()))
{
$_SESSION['user'] = $pseudo;
$_SESSION['role'] = 'user';
header("Location: /");
exit();
}else
{
global $twig;
$this -> errors = ["Identifiant ou mot de passe incorrect"];
echo $twig -> render("login.html.twig", ['error' => $this -> errors[0]]);
exit();
}
}
else
{
global $twig;
$this -> errors = ["Identifiant ou mot de passe incorrect"];
echo $twig -> render("login.html.twig", ['error' => $this -> errors[0]]);
exit();
}
}
}
/**
* @throws SyntaxError
* @throws RuntimeError
* @throws LoaderError
*/
public function visitorSignIn(): void
{
global $twig;
echo $twig->render("signin.html.twig");
}
/**
* @throws RuntimeError
* @throws SyntaxError
* @throws LoaderError
*/
public function toSignIn() : void
{
global $twig;
$this -> errors = [null, null, null];
if ($_POST) {
$pseudo = $_POST['pseudo'] ?? null;
$email = $_POST['email'] ?? null;
$mdp = $_POST['mdp'] ?? null;
$cmdp = $_POST['cmdp'] ?? null;
if ($mdp != $cmdp) {
$this->errors[2] = "Mots de passe incorrects";
//$this->visitorSignIn();
echo $twig->render("signin.html.twig", ['error' => $this->errors]);
exit();
}
$option = ['cost' => 12];
$hmdp = password_hash($mdp, PASSWORD_BCRYPT, $option);
$isUserAlreadyUsed = $this -> mdl -> getUsername($pseudo);
$isEmailAlreadyUsed = $this -> mdl -> getEmail($email);
if ($isUserAlreadyUsed and !$isEmailAlreadyUsed) {
$this->errors[0] = "Pseudo déjà utilisé";
echo $twig->render("signin.html.twig", ['error' => $this->errors]);
exit();
}
else if ($isEmailAlreadyUsed and !$isUserAlreadyUsed) {
$this->errors[1] = "Email déjà utilisé";
echo $twig->render("signin.html.twig", ['error' => $this->errors]);
exit();
}
else echo $this->mdl->insertUser($pseudo, $email, $hmdp);
$_SESSION["pseudo"] = $pseudo;
header("Location: /");
}
}
}

@ -1,124 +1,107 @@
<?php
namespace Entity;
class User{
class UserEntity {
private int $id;
private string $username;
private string $passwd;
private string $hidenPasswd;
private int $img;
private string $pseudo;
private string $password;
private string $email;
private string $date;
private bool $isAdmin;
private int $imgPrfl;
/**
* @param int $id
* @param string $username
* @param string $passwd
* @param string $hidenPasswd
* @param int $img
* @param string $email
*/
public function __construct(int $id, string $username, string $passwd, int $img, string $email)
{
$this->id = $id;
$this->username = $username;
$this->passwd = $passwd;
$this->hidenPasswd = hidenPasswd($passwd);
$this->img = $img;
$this->email = $email;
}
/**
* @return string
*/
public function getId(): int
{
return $this->id;
}
/**
* @param string $id
*/
public function setId(int $id): void
{
$this->id = $id;
}
/**
* @return string
*/
public function getUsername(): string
public function getPseudo(): string
{
return $this->username;
return $this->pseudo;
}
/**
* @param string $username
*/
public function setUsername(string $username): void
public function setPseudo(string $pseudo): void
{
$this->username = $username;
$this->pseudo = $pseudo;
}
/**
* @return string
*/
public function getImg(): int
public function getPassword(): string
{
return $this->img;
return $this->password;
}
/**
* @param string $img
*/
public function setImg(int $img): void
public function setPassword(string $password): void
{
$this->img = $img;
$this->password = $password;
}
/**
* @return string
*/
public function getEmail(): string
{
return $this->email;
}
/**
* @param string $email
*/
public function setEmail(string $email): void
{
$this->email = $email;
}
/**
* @return string
*/
public function getPasswd(): string
public function getDate(): string
{
return $this->passwd;
return $this->date;
}
/**
* @return string
*/
public function getHidenPasswd(): string
public function setDate(string $date): void
{
$this->date = $date;
}
public function isAdmin(): bool
{
return $this->isAdmin;
}
public function setIsAdmin(bool $isAdmin): void
{
return $this->hidenPasswd;
$this->isAdmin = $isAdmin;
}
public function getImgPrfl(): int
{
return $this->imgPrfl;
}
public function setImgPrfl(int $imgPrfl): void
{
$this->imgPrfl = $imgPrfl;
}
/**
* @param string $passwd
* @param int $id
* @param string $pseudo
* @param string $password
* @param string $email
* @param int $imgPrfl
* @param bool $isAdmin
* @param string $date
*/
public function setPasswd(string $passwd): void
public function __construct(int $id, string $pseudo, string $password, string $email, int $imgPrfl, bool $isAdmin, string $date)
{
$this->passwd = $passwd;
$this->hidenPassWd = hidenPassWd($passwd);
$this->id = $id;
$this->pseudo = $pseudo;
$this->password = $password;
$this->email = $email;
$this->imgPrfl = $imgPrfl;
$this->isAdmin = $isAdmin;
$this->date = $date;
}
}
// ============================================ En attente du Model ============================================
/*$dsn = "pgsql:host=londres;dbname=dblebeaulato";

@ -1,177 +1,124 @@
<?php
namespace Gateway;
use Connection;
use PDO;
Class UserGateway{
private Connection $con;
private \Gateway\Connection $con;
public function __construct(Connection $con){
$this->con=$con;
}
public function insert(string $username,string $email,string $passwd):string{
public function getNumberOfUsers() : array
{
$query = "SELECT Count(*) FROM Users";
$this -> con -> executeQuery($query);
return $this -> con -> getResults();
}
//crypte passeword
$passwordEncrypted = crypt($passwd);
// insertion user
$query='INSERT INTO Users VALUES (:username,:email,:passwd,CURRENT_DATE,false);';
$this->con->executeQuery($query,array(':username' => array($u->username,PDO::PARAM_STR),':email' => array($u->email,PDO::PARAM_STR),':passwd' => array($u->passwordEncrypted,PDO::PARAM_STR)));
return $id;
public function insertUser(int $id, string $pseudo, string $email, string $password, bool $isAdmin, int $imgPrfl) : bool {
$query = "
INSERT INTO Users
VALUES (:id, :pseudo, :email, :password, CURRENT_DATE, :isAdmin, :imgPrfl)
";
return $this -> con -> executeQuery($query, [
":id" => [$id, PDO::PARAM_INT],
":pseudo" => [$pseudo, PDO::PARAM_STR],
":email" => [$email, PDO::PARAM_STR],
":password" => [$password, PDO::PARAM_STR],
":isAdmin" => [$isAdmin, PDO::PARAM_INT],
":imgPrfl" => [$imgPrfl, PDO::PARAM_STR]
]);
}
public function delete(string $id) : bool{
// suppression user
// supretion user
$query='DELETE FROM Users WHERE id_user = :id;';
return $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT)));
return $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_STR)));
}
public function getFavorite(string $id):array{
//obtention favoris d'un user
$query='SELECT * FROM Quote WHERE id_quote IN (SELECT id_quote IN Favorite f JOIN User u ON u.id_user = f.user WHERE id_user = :id);';
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT)));
$query='SELECT * FROM Quote WHERE id_quote IN (SELECT id_quote FROM Favorite f JOIN users u ON u.id_user = f.user_f WHERE u.id_user = :id);';
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_STR)));
$result=$this->con->getResults();
return $result;
}
//obtenir les information d'un user
public function findDataUser(int $id):array{
$query = 'SELECT * FROM Users WHERE id_user=:idUser';
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_INT)));
$result = $con->getResults();
$this->con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR)));
$result = $this->con->getResults();
return $result;
}
public function createQuote(int $id, string $content, string $langue, string $caracter, string $source):array{
//recupère id du personnage
$queryCaracter = "SELECT id_caracter FROM Caracter WHERE caracter =:caracter";
$con->executeQuery($queryCaracter, array(
':caracter'=>array($caracter, PDO::PARAM_STR)
));
$resultCaracter = $con->getResult();
if($resultCaracter == NULL){
//ajout creationCaracter
}
//recupère id de la source
$querySource = "SELECT id_source FROM Source WHERE title =:source";
$con->executeQuery($querySource, array(
':source'=>array($source, PDO::PARAM_STR)
));
$resultSource = $con->getResult();
if($resultSource == NULL){
//ajout creationSource
}
$queryInsert = "INSERT INTO Quote (content, langue, id_caracter, id_source, id_user_verif) VALUES (:content, :langue, :caracter, :source, :idverif)";
$con->executeQuery($queryInsert, array(
':content'=>array($content, PDO::PARAM_STR),
':langue'=>array($langue, PDO::PARAM_STR),
':caracter'=>array($resultCaracter, PDO::PARAM_STR),
':source'=>array($resultSource, PDO::PARAM_STR),
':idverif'=>array($id, PDO::PARAM_INT)
));
// obtenir les informations d'un user selon son pseudo
public function findUsername(string $username):array{
$query = 'SELECT * FROM Users WHERE username= :username';
$this->con->executeQuery($query, array(':username'=>array($username, PDO::PARAM_STR)));
return $this->con->getResults();
}
public function createCaracter(string $caracter, string $img):array{
//creation du personnage
$queryCaracter = "INSERT INTO Caracter(caracter, img_path) VALUES (:caracter, :img)";
$con->executeQuery($queryCaracter, array(
':caracter'=>array($caracter, PDO::PARAM_STR),
'img'=>array($img, PDO::PARAM_STR)
));
//récuperation de id caracter
$queryCaracter = "SELECT id_caracter FROM Caracter WHERE caracter =:caracter";
$con->executeQuery($queryCaracter, array(
':caracter'=>array($caracter, PDO::PARAM_STR)
));
$resultCaracter = $con->getResult();
}
public function createSource(string $title, string $dateS):array{
//creation du personnage
$querySource = "INSERT INTO Source(title, dateS) VALUES (:title, :dateS)";
$con->executeQuery($querySource, array(
':title'=>array($title, PDO::PARAM_STR),
'dateS'=>array($dateS, PDO::PARAM_STR)
));
//recupère id de la source
$querySource = "SELECT id_source FROM Source WHERE title =:source";
$con->executeQuery($querySource, array(
':source'=>array($source, PDO::PARAM_STR)
));
$querySource = $con->getResult();
public function findEmail(string $email):array{
$query = 'SELECT * FROM Users WHERE email = :email';
$this->con->executeQuery($query, array(':email'=>array($email, PDO::PARAM_STR)));
return $this->con->getResults();
}
// ===================== UPDATE FUNCTION =====================
public function updateUsername(int $id, string $newUsername):array{
public function updateUsername(int $id, string $newUsername):bool{
//Update le nom du user passé en paramètre
$queryUpdate = 'UPDATE Users SET username=:newUsername WHERE id_user=:idUser';
$con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_INT), ':newUsername'=> array($newUsername, PDO::PARAM_STR)));
$this->con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_STR), ':newUsername'=> array($newUsername, PDO::PARAM_STR)));
//Renvoie le nouveau nom du user
$queryReponse = 'SELECT username FROM Users WHERE id_user=:idUser';
$con->executeQuery($queryReponse, array($id=>array($id, PDO::PARAM_INT)));
return $result;
return $this->con->executeQuery($queryReponse, array($id=>array($newUsername, PDO::PARAM_STR)));
}
public function updateEmail(int $id, string $newEmail):array{
public function updateEmail(int $id, string $newEmail):bool{
//Update le email du user passé en paramètre
$queryUpdate = 'UPDATE Users SET email=:newEmail WHERE id_user=:idUser';
$con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_INT), ':newEmail'=> array($newEmail, PDO::PARAM_STR)));
$this->con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_STR), ':newEmail'=> array($newEmail, PDO::PARAM_STR)));
//Renvoie le nouveau email du user
$queryReponse = 'SELECT email FROM Users WHERE id_user=:idUser';
$con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_INT)));
$result = $con->getResults();
return $result;
$queryReponse = 'SELECT email FROM Users WHERE id_user=:idUser';
return $this->con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR)));
}
public function updateImg(int $id, int $newImg):array{
//Update l'image du user passé en paramètre
$query = 'UPDATE Users SET img=:newImg WHERE id_user=:idUser';
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_INT), ':newImg'=> array($newImg, PDO::PARAM_STR)));
$query = 'UPDATE Users SET img_prfl=:newImg WHERE id_user=:idUser';
$this->con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR), ':newImg'=> array($newImg, PDO::PARAM_STR)));
//Renvoie la nouvelle image du user
$queryReponse = 'SELECT img FROM Users WHERE id_user=:idUser';
$con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_INT)));
$result = $con->getResults();
$queryReponse = 'SELECT img_prfl FROM Users WHERE id_user=:idUser';
$this->con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR)));
$result = $this->con->getResults();
return $result;
}
public function updatePasswd(int $id, string $newPassWd):array{
//crypte le mot de passe
$passwordEncrypted = crypt($newPassWd);
//Update le passwd du user passé en paramètre
$query = 'UPDATE Users SET password=:newPassWd WHERE id_user=:idUser';
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_INT), ':newPassWd'=> array($passwordEncrypted, PDO::PARAM_STR)));
}
$query = 'UPDATE Users SET pssword=:newPassWd WHERE id_user=:idUser';
$this->con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR), ':newPassWd'=> array($newPassWd, PDO::PARAM_STR)));
public function getIdUser(string $username):array{
$query = 'SELECT id_user FROM Users WHERE username=:username';
$con->executeQuery($query, array(':username'=>array($username, PDO::PARAM_STR)));
$result = $con->getResults();
//Renvoie le nouveau passwd du user
$queryReponse = 'SELECT pssword FROM Users WHERE id_user=:idUser';
$this->con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR)));
$result = $this->con->getResults();
return $result;
}
}
$uG = new UserGateway(new Connection("pgsql:host=londres;dbname=dblebeaulato","lebeaulato",""));
?>

@ -1,7 +1,8 @@
<?php
namespace Model;
use Entity\User;
use Gateway\UserGateway;
use Entity\UserEntity;
use Gateway\UserGateway;
class UserModel
{
@ -11,39 +12,76 @@
$this->gateway = $gate;
}
public function insertUser(string $username,string $email,string $passwd) : User{
global $rep,$image;
$id = $this->gateway->insert($username,$email,$passwd);
$u = new User($id,$usename,$passwd,$rep.$image['default'],$email);
public function insertUser(string $username,string $email,string $passwd) : bool{
/*global $rep,$image;*/
return $this->gateway->insertUser($this->getNumberOfUsers() + 1, $username, $email, $passwd, false, 0);
}
public function deletUser(string $id) : bool{
public function getNumberOfUsers() : int
{
return $this->gateway->getNumberOfUsers()[0]['count'] ?? 0;
}
public function deleteUser(string $id) : bool{
return $this->gateway->delete($id);
}
// public function getFavoriteUser(string $id) : array{
// $res = array();
// $res[0] = array();
// $data = $this->gateway->getFavorite($id);
// foreach ($data as $favoris) {
// $res[] = new Quote();
// $res[0][] = new Quote();
// }
// }
public function getDataUser(int $id){
public function getDataUser(int $id) : ?UserEntity {
$res = $this->gateway->findDataUser($id);
foreach($res as $sources){
$src[] = new User(
$sources['id_user'],
$sources['username'],
$sources['pssword'],
$sources['img'],
$sources['email']
if ($res)
return new UserEntity(
$res[0]['id_user'],
$res[0]['username'],
$res[0]['pssword'],
$res[0]['email'],
$res[0]['img_prfl'],
$res[0]['is_admin'],
$res[0]['creation']
);
}
return $src;
return null;
}
public function getUsername(string $username) : ?UserEntity
{
$res = $this->gateway->findUsername($username);
if ($res)
return new UserEntity(
$res[0]['id_user'],
$res[0]['username'],
$res[0]['pssword'],
$res[0]['email'],
$res[0]['img_prfl'],
$res[0]['is_admin'],
$res[0]['creation']
);
return null;
}
public function getEmail(string $email) : ?UserEntity
{
$res = $this->gateway->findEmail($email);
if ($res)
return new UserEntity(
$res[0]['id_user'],
$res[0]['username'],
$res[0]['pssword'],
$res[0]['email'],
$res[0]['img_prfl'],
$res[0]['is_admin'],
$res[0]['creation']
);
return null;
}
public function setUsername(int $id, string $newUsername){
$res = $this->gateway->updateUsername($id,$newUsername);

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../public/styles/styleLogin.css" media="screen">
<title>Wiki Fantasy : Connexion</title>
<link id="favicon" rel="icon" href="../../images/iconeSombre.ico"> <!-- Par défaut sombre -->
<link href="https://fonts.googleapis.com/css2?family=Lemon&display=swap" rel="stylesheet">
<script defer src="../public/script/theme-toggle.js"></script>
</head>
<body>
<div class="container">
<div class="header">
<div class="nav">
<img src="../images/coeur.svg" alt="coeur" width="67px" height="67px" onmousedown="return false">
<img id="theme-icon" src="../images/light.svg" alt="toggle theme" width="72px" height="37px" onmousedown="return false" onclick="toggleTheme()">
<img src="../images/quizz.svg" alt="quizz" width="51px" height="82px" onmousedown="return false">
</div>
<div class="logo">
<a href="accueil.html"><img src="../images/WIKIFANTASY.png" alt="Logo" width="227px" height="106px" onmousedown="return false"></a>
</div>
<div class="user">
<img src="../images/user_dark.png" alt="user" width="70px" height="70px" onmousedown="return false">
</div>
</div>
</div>
<h1>▶ Connexion ◀</h1>
<form class="login" method="post" action="/validlogin">
<p> <strong>Identifiant *</strong></p>
<input type="text" class="connexion" name="pseudo" id="pseudo" placeholder="Entrez votre pseudo" required />
<p> <strong> Mot de passe *</strong></p>
<input type="password" class="connexion" name="mdp" id="mdp" placeholder="Entrez votre mdp" required />
{% if error is defined and error is not empty %}
<p style="color: red">{{ error }}</p>
{% endif %}
<div class="createAccount">
<p class="createAccount">Vous n'avez de compte?</p>
<a href="/signin" class="createAccount">S'incrire</a>
</div>
<div class="buttonSubmitDiv">
<button class="buttonSudmite">Se Connecter</button>
</div>
</form>
</body>
</html>

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../public/styles/styleSignin.css" media="screen">
<title>Wiki Fantasy : Inscription</title>
<link id="favicon" rel="icon" href="../images/iconeSombre.ico"> <!-- Par défaut sombre -->
<link href="https://fonts.googleapis.com/css2?family=Lemon&display=swap" rel="stylesheet">
<script defer src="../public/script/theme-toggle.js"></script>
</head>
<body>
<div class="container">
<div class="header">
<div class="nav">
<a href="favorite.html"><img src="../images/coeur.svg" alt="coeur" width="67px" height="67px" onmousedown="return false"></a>
<img id="theme-icon" src="../images/light.svg" alt="toggle theme" width="72px" height="37px" onmousedown="return false" onclick="toggleTheme()">
<a href="quiz.html"><img src="../images/quizz.svg" alt="quizz" width="51px" height="82px" onmousedown="return false"></a>
</div>
<div class="logo">
<a href="accueil.html"><img src="../images/WIKIFANTASY.png" alt="Logo" width="227px" height="106px" onmousedown="return false"></a>
</div>
<div class="user">
<img src="../images/user_dark.png" alt="user" width="70px" height="70px" onmousedown="return false">
</div>
</div>
</div>
<h1>▶ S'inscrire ◀</h1>
<form method="post" action="/validsignin">
<div class="signin">
<div class="DivId">
<p>Identifiant *</p>
<input type="text" class="champ" id="pseudo" name="pseudo" placeholder="Entrez votre pseudo" required/>
{% if error[0] is defined and error[0] is not empty %}
<p style="color: red">{{ error[0] }}</p>
{% endif %}
</div>
<div class="DivEmail">
<p>Email *</p>
<input type="email" class="champ" id="email" name="email" placeholder="Entrez votre email" required/>
{% if error[1] is defined and error[1] is not empty %}
<p style="color: red">{{ error[1] }}</p>
{% endif %}
</div>
<div class="mdp">
<p>Mot de passe *</p>
<input type="password" class="champ" id="mdp" name="mdp" required placeholder="Entrez votre mdp"/>
</div>
<div class="confmdp">
<p>Confirmer mot de passe *</p>
<input type="password" class="champ" id="cmdp" name="cmdp" placeholder="Confirmez votre mdp" required/>
{% if error[2] is defined and error[2] is not empty %}
<p style="color: red">{{ error[2] }}</p>
{% endif %}
</div>
<div class="imgprof">
<p>Image *</p>
</div>
<div class="connectAccount">
<p class="createAccount">Vous avez un compte?</p>
<a href="/login" class="connectAccount">Se connecter</a>
</div>
<div class="confirmer">
<input type="submit" class="btn" name="action" value="S'inscrire" />
</div>
</div>
</form>
</body>
</html>

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../public/styles/styleSignin.css" media="screen">
<title>Wiki Fantasy : Inscription</title>
<link id="favicon" rel="icon" href="../images/iconeSombre.ico"> <!-- Par défaut sombre -->
<link href="https://fonts.googleapis.com/css2?family=Lemon&display=swap" rel="stylesheet">
<script defer src="../public/script/theme-toggle.js"></script>
</head>
<body>
<div class="container">
<div class="header">
<div class="nav">
<a href="favorite.html"><img src="../images/coeur.svg" alt="coeur" width="67px" height="67px" onmousedown="return false"></a>
<img id="theme-icon" src="../images/light.svg" alt="toggle theme" width="72px" height="37px" onmousedown="return false" onclick="toggleTheme()">
<a href="quiz.html"><img src="../images/quizz.svg" alt="quizz" width="51px" height="82px" onmousedown="return false"></a>
</div>
<div class="logo">
<a href="accueil.html"><img src="../images/WIKIFANTASY.png" alt="Logo" width="227px" height="106px" onmousedown="return false"></a>
</div>
<div class="user">
<img src="../images/user_dark.png" alt="user" width="70px" height="70px" onmousedown="return false">
</div>
</div>
</div>
<h1>▶ z{{ test }} aeazrazeraz ◀</h1>
<form method="post">
<div class="signin">
<div class="DivId">
<p>Identifiant *</p>
<input type="text" class="champ" id="pseudo" name="pseudo" placeholder="Id" required/>
</div>
<div class="DivEmail">
<p>Email *</p>
<input type="email" class="champ" id="email" name="email" required/>
</div>
<div class="mdp">
<p>Mot de passe *</p>
<input type="password" class="champ" id="mdp" name="mdp" required placeholder="{{ errors }}"/>
</div>
<div class="confmdp">
<p>Confirmer mot de passe *</p>
<input type="password" class="champ" id="cmdp" name="cmdp" placeholder="{{ errors }}" required/>
</div>
<div class="imgprof">
<p>Image *</p>
</div>
<div class="confirmer">
<input type="submit" class="btn" name="action" value="validsignin" />
</div>
</div>
</form>
</body>
</html>
Loading…
Cancel
Save