Commit 9f264c14 authored by Clouard Regis's avatar Clouard Regis
Browse files

Fixed some misspelling.

parent 078881bc
<!DOCTYPE html> <!DOCTYPE html>
<html lang="fr"> <html lang="fr">
<head>
<link rel="icon" type="image/x-icon" href="https://vikazimut.vikazim.fr/public/images/icon.ico"/>
<meta charset="utf-8"/>
</head>
<body> <body>
<h2 style="text-align: center;">Conditions générales d'utilisation de VIKAZIMUT</h2> <h2 style="text-align: center;">Conditions générales d'utilisation de VIKAZIMUT</h2>
...@@ -42,4 +46,4 @@ ...@@ -42,4 +46,4 @@
qu’être accompagné d’une personne majeure lors de l’utilisation.</p> qu’être accompagné d’une personne majeure lors de l’utilisation.</p>
</body> </body>
</html> </html>
\ No newline at end of file
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head>
<link rel="icon" type="image/x-icon" href="https://vikazimut.vikazim.fr/public/images/icon.ico"/>
<meta charset="utf-8"/>
</head>
<body> <body>
<h2 style="text-align: center;">General Conditions of Use of VIKAZIMUT</h2> <h2 style="text-align: center;">General Conditions of Use of VIKAZIMUT</h2>
...@@ -32,4 +36,4 @@ ...@@ -32,4 +36,4 @@
<p>The minor users (under 18 years old) certify having the authorization from their parents or legal guardians to use the application as well as to be accompanied by a major person during the course.</p> <p>The minor users (under 18 years old) certify having the authorization from their parents or legal guardians to use the application as well as to be accompanied by a major person during the course.</p>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -60,7 +60,7 @@ function removeTable(event, name, checkpoints){ ...@@ -60,7 +60,7 @@ function removeTable(event, name, checkpoints){
function renderTable(){ function renderTable(){
if(table.length == 0){ if(table.length == 0){
let text = document.createElement("p"); let text = document.createElement("p");
text.innerHTML = "Sélectionner un courreur"; text.innerHTML = "Sélectionner un coureur";
return text; return text;
} }
......
...@@ -14,7 +14,7 @@ use App\Entity\Track; ...@@ -14,7 +14,7 @@ use App\Entity\Track;
class CourseController extends AbstractController class CourseController extends AbstractController
{ {
/** /**
* @Route("/course", name="course") * @Route("/routes", name="course")
*/ */
public function index() public function index()
{ {
......
<?php <?php
namespace App\Modele; namespace App\Modele;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface; use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
...@@ -10,51 +11,54 @@ use PDOException; ...@@ -10,51 +11,54 @@ use PDOException;
use App\Entity\User; use App\Entity\User;
use App\Modele\UserValidator; use App\Modele\UserValidator;
class CreateUser{ class CreateUser
{
private User $user; private User $user;
private $translator; private $translator;
private $plainPassword; private $plainPassword;
public function __construct($user, $translator){ public function __construct($user, $translator)
{
$this->user = $user; $this->user = $user;
$this->translator = $translator; $this->translator = $translator;
} }
public function addUser(UserPasswordEncoderInterface $encoder, EntityManagerInterface $em){ public function addUser(UserPasswordEncoderInterface $encoder, EntityManagerInterface $em)
if($this->user->getPassword() != ""){ {
if ($this->user->getPassword() != "") {
$info = password_get_info($this->user->getPassword()); $info = password_get_info($this->user->getPassword());
if($info['algo'] == 0){ if ($info['algo'] == 0) {
if(strlen($this->user->getPassword()) < 4 || strlen($this->user->getPassword()) > 4095){ if (strlen($this->user->getPassword()) < 4 || strlen($this->user->getPassword()) > 4095) {
return $this->translator->trans("password.invalid.must.be.more.than", ['number' => 4]); return $this->translator->trans("password.invalid.must.be.more.than", ['number' => 4]);
}else{ } else {
$encoded = $encoder->encodePassword($this->user, $this->user->getPassword()); $encoded = $encoder->encodePassword($this->user, $this->user->getPassword());
} }
} }
}else{ } else {
$this->plainPassword = self::generatePassword(); $this->plainPassword = self::generatePassword();
$encoded = $encoder->encodePassword($this->user, $this->plainPassword); $encoded = $encoder->encodePassword($this->user, $this->plainPassword);
} }
$this->user->setPassword($encoded); $this->user->setPassword($encoded);
if(!$this->user->isValid()){ if (!$this->user->isValid()) {
return $this->translateError($this->user->getError()); return $this->translateError($this->user->getError());
}else{ } else {
try{ try {
$em->persist($this->user); $em->persist($this->user);
$em->flush(); $em->flush();
}catch (DBALException $e){ } catch (DBALException $e) {
if(strpos($e->getMessage(), "Duplicate entry")){ if (strpos($e->getMessage(), "Duplicate entry")) {
return $this->translator->trans("name.already.exist"); return $this->translator->trans("name.already.exist");
}elseif(strpos($e->getMessage(), "Integrity constraint violation")){ } elseif (strpos($e->getMessage(), "Integrity constraint violation")) {
return $this->translator->trans("data.is.incorrect.forgot.something"); return $this->translator->trans("data.is.incorrect.forgot.something");
}else{ } else {
return $e->getMessage(); return $e->getMessage();
} }
}catch (PDOException $e){ } catch (PDOException $e) {
return $e->getMessage(); return $e->getMessage();
}catch (ORMException $e){ } catch (ORMException $e) {
return $e->getMessage(); return $e->getMessage();
} }
...@@ -62,7 +66,8 @@ class CreateUser{ ...@@ -62,7 +66,8 @@ class CreateUser{
} }
} }
public function forgotPassword(UserPasswordEncoderInterface $encoder, EntityManagerInterface $em){ public function forgotPassword(UserPasswordEncoderInterface $encoder, EntityManagerInterface $em)
{
$this->plainPassword = self::generatePassword(); $this->plainPassword = self::generatePassword();
$encoded = $encoder->encodePassword($this->user, $this->plainPassword); $encoded = $encoder->encodePassword($this->user, $this->plainPassword);
...@@ -72,15 +77,16 @@ class CreateUser{ ...@@ -72,15 +77,16 @@ class CreateUser{
$em->flush(); $em->flush();
} }
public function sendEmail(\Swift_Mailer $mailer, $new){ public function sendEmail(\Swift_Mailer $mailer, $new)
if($new){ {
$body = "Bonjour,\nVotre inscription sur vikazimut.vikazim.fr en tant que traceur a étais accepté.\n". if ($new) {
"Votre nom d'utilisateur: ".$this->user->getUsername()."\n"; $body = "Bonjour,\nVos données de connexion en tant que traceur sur le serveur vikazimut.vikazim.fr sont :\n".
}else{ "Nom d'utilisateur: ".$this->user->getUsername()."\n";
} else {
$body = "Bonjour ".$this->user->getUsername()."\n". $body = "Bonjour ".$this->user->getUsername()."\n".
"Votre mot de passe à étais réinitialiser\n"; "Mot de passe à été réinitialisé\n";
} }
$body .= "Votre mot de passe provisoire: ".$this->plainPassword."\n". $body .= "Mot de passe provisoire : ".$this->plainPassword."\n".
"Merci de ne pas répondre à ce mail"; "Merci de ne pas répondre à ce mail";
$message = (new \Swift_Message("Vikazimut")) $message = (new \Swift_Message("Vikazimut"))
->setFrom("noreply@vikazimut.vikazim.fr") ->setFrom("noreply@vikazimut.vikazim.fr")
...@@ -89,21 +95,23 @@ class CreateUser{ ...@@ -89,21 +95,23 @@ class CreateUser{
$mailer->send($message); $mailer->send($message);
} }
public static function generatePassword(){ public static function generatePassword()
{
//random_int is suppose to "cryptographically secure" number //random_int is suppose to "cryptographically secure" number
//if not enought look at https://paragonie.com/blog/2015/07/how-safely-generate-random-strings-and-integers-in-php //if not enought look at https://paragonie.com/blog/2015/07/how-safely-generate-random-strings-and-integers-in-php
$keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$str = ''; $str = '';
for ($i = 0; $i < 8; ++$i) { for ($i = 0; $i < 8; ++$i) {
$str .= $keyspace[random_int(0, strlen($keyspace)-1)]; $str .= $keyspace[random_int(0, strlen($keyspace) - 1)];
} }
return $str; return $str;
} }
public function translateError(int $error_code){ public function translateError(int $error_code)
switch($error_code){ {
switch ($error_code) {
case UserValidator::$NO_ERR: case UserValidator::$NO_ERR:
return $this->translator->trans("no.error"); return $this->translator->trans("no.error");
case UserValidator::$USERNAME_INV: case UserValidator::$USERNAME_INV:
...@@ -116,5 +124,4 @@ class CreateUser{ ...@@ -116,5 +124,4 @@ class CreateUser{
} }
} }
?> ?>
\ No newline at end of file
...@@ -65,8 +65,8 @@ ...@@ -65,8 +65,8 @@
{% block body %}{% endblock %} {% block body %}{% endblock %}
<footer class="container"> <footer class="container pt-5 text-muted text-left text-small">
<p>&copy; Vikazimut 2016-2020</p> <p>&copy; 2016-2020 Vikazimut</p>
</footer> </footer>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
......
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
legend.onAdd = function (map) { legend.onAdd = function (map) {
var div = L.DomUtil.create('div', 'info legend'); var div = L.DomUtil.create('div', 'info legend');
div.innerHTML = "survoler une trace pour afficher les performance"; div.innerHTML = " survoler une trace pour afficher les vitesses (Rouge< 6km/h, Vert >6km/h, 6<bleu<12).";
return div; return div;
} }
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
</style> </style>
{% endblock %} {% endblock %}
{% block body %} {% block body %}
<section id="banner" style="background-image: url({{ asset('/public/images/banner.jpg')}})"> <section id="banner" style="background-image: url({{ asset('/public/images/banner.jpg') }})">
<header> <header>
<h1 class="mbr-section-title align-center mbr-bold pb-6 mbr-fonts-style display-4">VIKAZIMUT</h1> <h1 class="mbr-section-title align-center mbr-bold pb-6 mbr-fonts-style display-4">VIKAZIMUT</h1>
</header> </header>
...@@ -125,14 +125,13 @@ ...@@ -125,14 +125,13 @@
</div> </div>
</div> </div>
</main> </main>
<div class="jumbotron" style="background-color:#ffe6db" id="team"> <div class="jumbotron" style="background-color:#ffe6db" id="team">
<div class="container"> <div class="container pt-2">
<h2>Qui sommes nous ?</h2> <h2>Qui sommes nous ?</h2>
<p> <p>Vikazimut est un projet d'étudiants en informatique de l'ENSICAEN et de l'université de Caen Normandie.
Vikazimut est un projet d'étudiants en informatique de l'ENSICAEN et de l'université de Caen Normandie.
Le projet répond à une demande de l'association Vik'Azim visant la réalisation d'une application Android pour la pratique Le projet répond à une demande de l'association Vik'Azim visant la réalisation d'une application Android pour la pratique
de la course d'orientation. de la course d'orientation.</p>
</p>
<p> <p>
Quatre promotions d'étudiants de l'ENSICAEN se sont relayés pour finaliser l'application Android. Quatre promotions d'étudiants de l'ENSICAEN se sont relayés pour finaliser l'application Android.
</p> </p>
......
...@@ -9,15 +9,15 @@ add: ...@@ -9,15 +9,15 @@ add:
name: name:
course: Name of the course course: Name of the course
save: Sauvegarder save: Save
image: image:
jpg: Image (JPG/JPEG) jpg: Image (JPG/JPEG)
file: file:
xml: Fichier XML xml: XML file
kml: Fichier KML kml: KML file
your: your:
courses: Vos parcours courses: Routes
info: info info: info
\ No newline at end of file
...@@ -24,12 +24,12 @@ file: ...@@ -24,12 +24,12 @@ file:
click: click:
drop: drop:
upload: Clicker ou dragger pour déposer les fichiers upload: Cliquer ou déplacer des fichiers
clear: Nettoyer clear: Nettoyer
number: number:
runner: Nombre de coureur runner: Nombre de traces
courses: Parcours courses: Parcours
...@@ -38,14 +38,14 @@ delete: Supprimer ...@@ -38,14 +38,14 @@ delete: Supprimer
error: error:
upload: upload:
check: check:
type: 'erreur durant l''upload, vérifier le type du fichier' type: 'erreur durant le téléversement, vérifiez le type du fichier'
log: log:
in: Se connecter in: Espace traceur
out: Se déconnecter out: Se déconnecter
modify: Modifier modify: Modifier
modify.your.info: Modifier vos données personnelle modify.your.info: Modifier vos données personnelles
name: Nom name: Nom
name.course: Nom du parcours name.course: Nom du parcours
...@@ -71,13 +71,14 @@ us: Nous ...@@ -71,13 +71,14 @@ us: Nous
email: Adresse mail email: Adresse mail
phone: Numéro de télephone phone: Numéro de téléphone
your: your:
courses: Vos parcours courses: Vos parcours
email: 'Votre email: %email%' email: 'Votre email: %email%'
info: Vos infos personnelles
phone: 'Votre télephone: %phone%' info: Informations personnelles
phone: 'Votre téléphone: %phone%'
missing: missing:
checkpoint: 'Balises manquantes: %nb%' checkpoint: 'Balises manquantes: %nb%'
...@@ -86,7 +87,7 @@ missing: ...@@ -86,7 +87,7 @@ missing:
no: no:
phone: phone:
given: Pas de télephone done given: Pas de téléphone renseig
reinit: reinit:
password: Réinitialiser le mot de passe password: Réinitialiser le mot de passe
...@@ -98,4 +99,3 @@ new: ...@@ -98,4 +99,3 @@ new:
password: password:
forgot: Mot de passe oublié forgot: Mot de passe oublié
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment