Relecture du code/Small fixes

This commit is contained in:
Divlo 2019-10-18 09:55:35 +02:00
parent 0200c2d240
commit 0e0ada8e40
9 changed files with 89 additions and 88 deletions

View File

@ -17,7 +17,7 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
| -- | -- | -- |
| **weatherRequest()** | Affiche la météo et l'heure locale selon la ville grâce à l'API : [openweathermap.org](https://openweathermap.org/). | Aucun paramètre |
| **randomNumber(min, max)** | Génère un nombre aléatoire entre un minimum inclus et un maximum inclus. | - min : Nombre Minimum - max : Nombre Maximum |
| **calculateAge(birthDate)** | Calcule l'âge de quelqu'un selon la date de naissance. | - birthDate : date de naissance au format (dd/mm/yyyy). |
| **calculateAge(birthDate)** | Calcule l'âge de quelqu'un selon ça date de naissance. | - birthDate : date de naissance au format (dd/mm/yyyy). |
| **convertTemperature(degree,unit)** | Convertit des Degré Celsius en Degré Fahrenheit et l'inverse aussi. | - degre : Le nombre que vous voulez convertir - unite : l'unité du nombre que vous voulez convertir (°C ou °F) |
| **convertDistance (firstValue, unitFirstValue, unitFinalValue)** | Convertit la longueur (distance) avec les unités allant de picomètre au Téramètre. | - firstValue : Le nombre que vous voulez convertir - unitFirstValue : l'unité du nombre que vous voulez convertir - unitFinalValue : l'unité de votre nombre après la conversion |
| **filterStudents(filteredLetter, students)** | Affiche uniquement les prénoms (qui sont dans la liste) qui commence par la lettre souhaitée. | - filteredLetter : la lettre à filtré - students : la liste des prénoms |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View File

@ -14,13 +14,13 @@ switch ($currentpage) {
break;
case '/views/function-list.php':
$title = 'Liste des fonctions';
$description = 'La liste des mini-programmes (fonctions JavaScript).';
$description = 'La liste des mini-programmes.';
$image = 'https://function.divlo.fr/img/FunctionProject_icon.png';
$functionlistActive = 'active';
break;
case '/views/function-views/calculateAge.php':
$title = 'Quelle âge avez-vous ?';
$description = "Calcule l'âge de quelqu'un selon la date de naissance.";
$description = "Calcule l'âge de quelqu'un selon ça date de naissance.";
$image = 'https://function.divlo.fr/img/function-image/calculateAge.png';
break;
case '/views/function-views/convertDistance.php':
@ -75,7 +75,7 @@ switch ($currentpage) {
break;
case '/views/function-views/armstrongNumber.php':
$title = "Nombre d'Armstrong";
$description = "Un nombre d'<a href='https://fr.wikipedia.org/wiki/Nombre_narcissique' target='_blank'>Armstrong</a> est un nombre qui est égal à la somme de ses chiffres portés à la puissance du nombre de chiffres le composant. Cette fonction permet de savoir si un nombre fait partie des nombres d'Armstrong ou non.";
$description = "Un nombre d'<a href='https://fr.wikipedia.org/wiki/Nombre_narcissique' target='_blank'>Armstrong</a> est un nombre entier positif qui est égal à la somme de ses chiffres portés à la puissance du nombre de chiffres le composant. Cette fonction permet de savoir si un nombre fait partie des nombres d'Armstrong.";
$image = 'https://function.divlo.fr/img/function-image/armstrongNumber.png';
break;
case '/views/function-views/heapAlgorithm.php':

View File

@ -28,7 +28,7 @@ function formatNumberResult(num) {
function convertPuissanceToNumber(num) {
if(!isNaN(num))
{
let number = formatNumberResult((num).toFixed(0));
const number = formatNumberResult((num).toFixed(0));
return number;
}
else
@ -49,7 +49,7 @@ function dateTimeUTC(utc) {
for (let index in utc) {
result = result + utc[index];
}
let enteredOffset = parseFloat(result)*60;
const enteredOffset = parseFloat(result)*60;
timeNow.setMinutes(timeNow.getMinutes() + enteredOffset);
return showDateTime(enteredOffset);
}
@ -90,23 +90,23 @@ function realDateTime(id)
// Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API openweathermap.org
function timeZone(json) {
timeZoneValue = json.timezone / 60 / 60;
let timeZoneStr = timeZoneValue.toString();
const timeZoneStr = timeZoneValue.toString();
return dateTimeUTC(timeZoneStr);
}
// Vérifie si une date est valide par rapport à la date d'aujourd'hui
function isValidDate(s) {
// Date à vérifier
let toVerifyDate = s.split('/');
let splitedToVerifyDate = toVerifyDate[2] + '-' + (parseInt(toVerifyDate[1]) + 1) + '-' + toVerifyDate[0];
let msToVerifyDate = Date.parse(splitedToVerifyDate);
const toVerifyDate = s.split('/');
const splitedToVerifyDate = toVerifyDate[2] + '-' + (parseInt(toVerifyDate[1]) + 1) + '-' + toVerifyDate[0];
const msToVerifyDate = Date.parse(splitedToVerifyDate);
// Date courante
let currentDate = dateTimeUTC('0');
const currentDate = dateTimeUTC('0');
currentDate = currentDate.substr(0,10);
let currentDateSplited = currentDate.split('/');
let currentDateFormat = currentDateSplited[2] + '-' + currentDateSplited[1] + '-' + currentDateSplited[0];
let msCurrentDate = Date.parse(currentDateFormat);
const currentDateSplited = currentDate.split('/');
const currentDateFormat = currentDateSplited[2] + '-' + currentDateSplited[1] + '-' + currentDateSplited[0];
const msCurrentDate = Date.parse(currentDateFormat);
if(msToVerifyDate <= msCurrentDate) {
return true;

View File

@ -7,9 +7,9 @@ function weatherRequest() {
type: "POST",
success: function(data) {
try {
let json = jQuery.parseJSON(data);
let city = json.name;
let showDateTimeValue = timeZone(json);
const json = jQuery.parseJSON(data);
const city = json.name;
const showDateTimeValue = timeZone(json);
$('.results').html(`🌎 Position : <a href='https://www.google.com/maps/search/?api=1&query=${json.coord.lat},${json.coord.lon}' class="yellow-color" target="_blank">${city}, ${json.sys.country}</a><br>⏰ Date et heure : ${showDateTimeValue}<br>☁️ Météo : ${capitalize(json.weather[0].description)}<br> 🌡️ Température : ${json.main.temp} °C<br> 💧 Humidité : ${json.main.humidity}% <br> <img src="https://openweathermap.org/img/wn/${json.weather[0].icon}@2x.png"/>`);
}
@ -36,9 +36,9 @@ function randomNumber(min, max) {
// Calcule l'âge de quelqu'un selon la date de naissance
function calculateAge(birthDateEntered) {
// Les variables de la fonction
let birthDateDay = parseInt(birthDateEntered.substring(0, 2));
let birthDateMonth = parseInt((birthDateEntered.substring(3, 5)) - 1);
let birthDateYear = parseInt(birthDateEntered.substring(6, 10));
const birthDateDay = parseInt(birthDateEntered.substring(0, 2));
const birthDateMonth = parseInt((birthDateEntered.substring(3, 5)) - 1);
const birthDateYear = parseInt(birthDateEntered.substring(6, 10));
dateTimeUTC('0');
day = parseInt(day);
month = parseInt(month - 1);
@ -54,7 +54,7 @@ function calculateAge(birthDateEntered) {
birthDate.add(ageMonths, 'months');
let ageDays = dateNow.diff(birthDate, 'days');
let isValidDateFunction = isValidDate(birthDateDay + '/' + birthDateMonth + '/' + birthDateYear);
const isValidDateFunction = isValidDate(birthDateDay + '/' + birthDateMonth + '/' + birthDateYear);
// Vérifie si la valeur entrée correspond à une date de naissance valide
if(isValidDateFunction === true && !isNaN(ageDays))
@ -97,17 +97,17 @@ function convertTemperature(degree, unit) {
// Convertis la longueur (distance) avec les unités allant de picomètre au Téramètre
function convertDistance (firstValue, unitFirstValue, unitFinalValue) {
let reference = ["pm",null,null,"nm",null,null,"µm",null,null,"mm","cm","dm","m","dam","hm","km",null,null,"Mm",null,null,"Gm",null,null,"Tm"];
let index1 = reference.indexOf(unitFirstValue);
let index2 = reference.indexOf(unitFinalValue);
const reference = ["pm",null,null,"nm",null,null,"µm",null,null,"mm","cm","dm","m","dam","hm","km",null,null,"Mm",null,null,"Gm",null,null,"Tm"];
const index1 = reference.indexOf(unitFirstValue);
const index2 = reference.indexOf(unitFinalValue);
// Condition qui vérifie si les valeurs entrées sont justes
if (!isNaN(firstValue) && typeof unitFirstValue === 'string' && typeof unitFinalValue === 'string' && (index1.toString() && index2.toString()) != '-1')
{
// Conversion des longueurs :
let difference = index1 - index2;
let result = firstValue*Math.pow(10,difference);
let response = 'Conversion de longueur : ' + formatNumberResult(firstValue).toString() + ' ' + unitFirstValue + ' = ' + formatNumberResult(result) + ' ' + unitFinalValue;
const difference = index1 - index2;
const result = firstValue*Math.pow(10,difference);
const response = 'Conversion de longueur : ' + formatNumberResult(firstValue).toString() + ' ' + unitFirstValue + ' = ' + formatNumberResult(result) + ' ' + unitFinalValue;
return response;
}
else
@ -134,8 +134,8 @@ function filterStudents(filteredLetter, students)
else if (filteredStudents.length >= 2)
{
// Affiche la liste des prénoms...
let last = filteredStudents[filteredStudents.length - 1]; // Accéde au dernier élément du tableau
let totalfilteredLetterStudents = filteredStudents.length;
const last = filteredStudents[filteredStudents.length - 1]; // Accéde au dernier élément du tableau
const totalfilteredLetterStudents = filteredStudents.length;
filteredStudents.pop(); // Supprime le dernier élément du tableau
// filteredStudents.join(', ') permet de rajouter un espace entre chaque élément du tableau
return ("Prénoms qui commence par " + filteredLetter + " (" + totalfilteredLetterStudents + ") : " + filteredStudents.join(', ') + ' et ' + last + '.');
@ -148,8 +148,8 @@ function filterStudents(filteredLetter, students)
// Génère aléatoirement une citation ou un proverbe
function getRandomQuote() {
let randomNbr = randomNumber(0, (quotes.length - 1));
let randomQuotes = quotes[randomNbr];
const randomNbr = randomNumber(0, (quotes.length - 1));
const randomQuotes = quotes[randomNbr];
return '" ' + randomQuotes["quote"] + ' " <br> <br> - ' + randomQuotes["source"];
}
@ -172,9 +172,9 @@ function convertCurrency(value, currency, url) {
if (currencySymboleAPI === undefined) {
currencySymboleAPI = 1;
}
let exchangeRateYear = jsonFixer.date[0] + jsonFixer.date[1] + jsonFixer.date[2] + jsonFixer.date[3];
let exchangeRateMonth = jsonFixer.date[5] + jsonFixer.date[6];
let exchangeRateDay = jsonFixer.date[8] + jsonFixer.date[9];
const exchangeRateYear = jsonFixer.date[0] + jsonFixer.date[1] + jsonFixer.date[2] + jsonFixer.date[3];
const exchangeRateMonth = jsonFixer.date[5] + jsonFixer.date[6];
const exchangeRateDay = jsonFixer.date[8] + jsonFixer.date[9];
$('.results').html(formatNumberResult(value) + ' ' + jsonFixer.base + ' = ' + formatNumberResult((currencySymboleAPI * value).toFixed(2)) + ' ' + currency);
$('.rateDate').html(`Dernier rafraîchissement du taux d'échange : ${exchangeRateDay}/${exchangeRateMonth}/${exchangeRateYear}`);
}

View File

@ -4,8 +4,8 @@ $(function () {
$( "#submitWeatherRequest" ).click(function()
{
let city = $('#cityName').val();
let cityName = city.split(' ').join('+');
const city = $('#cityName').val();
const cityName = city.split(' ').join('+');
if(isEmptyValue(cityName))
{
$('.results').html(emptyMessageError);
@ -19,15 +19,15 @@ $(function () {
$("#submitRandomNumber").click(function()
{
let minEntered = $('#minValue').val();
let maxEntered = $('#maxValue').val();
const minEntered = $('#minValue').val();
const maxEntered = $('#maxValue').val();
if(isEmptyValue(minEntered) || isEmptyValue(maxEntered))
{
$('.results').html(emptyMessageError);
}
else
{
let result = randomNumber(minEntered, maxEntered);
const result = randomNumber(minEntered, maxEntered);
if(result === messageError) {
$('.results').html(messageError);
} else {
@ -38,23 +38,23 @@ $(function () {
$("#birthDateValue").bind("keyup change", function()
{
let birthDateEntered = $('#birthDateValue').val();
let result = calculateAge(birthDateEntered);
const birthDateEntered = $('#birthDateValue').val();
const result = calculateAge(birthDateEntered);
$('.results').html(result);
});
$("#submitConvertTemperature").click(function()
{
let temperatureValue = $('#temperatureValue').val();
let degree = parseFloat(temperatureValue.slice(0, temperatureValue.length - 2));
let unit = temperatureValue.slice(temperatureValue.length - 2);
const temperatureValue = $('#temperatureValue').val();
const degree = parseFloat(temperatureValue.slice(0, temperatureValue.length - 2));
const unit = temperatureValue.slice(temperatureValue.length - 2);
if(isEmptyValue(temperatureValue))
{
$('.results').html(emptyMessageError);
}
else
{
let result = convertTemperature(degree, unit);
const result = convertTemperature(degree, unit);
if(result === messageError)
{
$('.results').html(messageError);
@ -69,8 +69,8 @@ $(function () {
$("#submitConvertDistance").click(function()
{
let firstValue = $('#firstValue').val();
let unitFirstValue = $("#firstValueUnit option:selected").text();
let secondValue = $("#secondValue option:selected").text();
const unitFirstValue = $("#firstValueUnit option:selected").text();
const secondValue = $("#secondValue option:selected").text();
if(isEmptyValue(firstValue) || isEmptyValue(secondValue))
{
$('.results').html(emptyMessageError);
@ -78,14 +78,14 @@ $(function () {
else
{
firstValue = parseFloat(firstValue.replace(/\s/g,''));
let result = convertDistance(firstValue, unitFirstValue, secondValue);
const result = convertDistance(firstValue, unitFirstValue, secondValue);
$('.results').html(result);
}
});
$("#submitFilterStudents").click(function()
{
let nameEntered = $('#nameEntered').val();
const nameEntered = $('#nameEntered').val();
let filteredLetter = $("#filteredLetter").val();
if(isEmptyValue(nameEntered) || isEmptyValue(filteredLetter))
{
@ -93,9 +93,9 @@ $(function () {
}
else if(filteredLetter.length === 1)
{
let students = nameEntered.split(', ');
const students = nameEntered.split(', ');
filteredLetter = capitalize(filteredLetter);
let result = filterStudents(filteredLetter, students);
const result = filterStudents(filteredLetter, students);
$('.results').html(result);
}
else {
@ -127,8 +127,8 @@ $(function () {
$("#submitConvertCurrency").click(function()
{
let value = $('#value').val();
let currencyOfTheValue = $("#currencyOfTheValue option:selected").val();
let currencyAfter = $("#currencyAfter option:selected").val();
const currencyOfTheValue = $("#currencyOfTheValue option:selected").val();
const currencyAfter = $("#currencyAfter option:selected").val();
if(isEmptyValue(value) || isNaN(parseFloat(value)))
{
$('.results').html(emptyMessageError);
@ -143,8 +143,8 @@ $(function () {
$("#submitConvertEncoding").click(function()
{
let value = $('#value').val();
let option = $("#option option:selected").val();
const value = $('#value').val();
const option = $("#option option:selected").val();
if(isEmptyValue(value))
{
$('.results').html(messageError);
@ -152,32 +152,26 @@ $(function () {
else
{
if (option === 'DecimalToBinary' || option === 'BinaryToDecimal' || option === 'DecimalToHexadecimal' || option === 'HexadecimalToDecimal' || option === 'BinaryToHexadecimal' || option === 'HexadecimalToBinary') {
let result = convertDecimalBinaryHexadecimal(value, option);
if (result === messageError) {
$('.results').html(messageError);
} else {
$('.results').html(result);
}
const result = convertDecimalBinaryHexadecimal(value, option);
$('.results').html(result);
}
else if (option === 'BinaryToText') {
// Le replace enlève les espaces
let textResult = binToUtf8(value.replace(/\s/g,''));
const textResult = binToUtf8(value.replace(/\s/g,''));
$('.results').html(textResult);
}
else if (option === 'TextToBinary') {
// Les 2 replace permettent de rajouter un espace tout les 8 bits
let binaryResult = utf8ToBin(value);
binaryResult = binaryResult.replace(/(\d{8})/g, '$1 ').replace(/(^\s+|\s+$)/,'');
$('.results').html(binaryResult);
}
else if (option === 'TextToHexadecimal') {
let result = utf8ToHex(value);
const result = utf8ToHex(value);
$('.results').html(result.toUpperCase());
}
else if (option === 'HexadecimalToText') {
let result = hexToUtf8(value.replace(/\s/g,''));
const result = hexToUtf8(value.replace(/\s/g,''));
$('.results').html(result);
}
else {
@ -189,12 +183,12 @@ $(function () {
$("#submitConvertRomanArabicNumbers").click(function()
{
let numbersValue = $('#numbersArabic').val();
let convertNumberType = $("#convertNumberType option:selected").text();
const convertNumberType = $("#convertNumberType option:selected").text();
if(isEmptyValue(numbersValue)) {
$('.results').html(emptyMessageError);
}
else if (!isNaN(parseInt(numbersValue)) && convertNumberType === "Nombre Romain") {
let result = convertArabicToRoman(parseInt(numbersValue.replace(/\s/g,'')));
const result = convertArabicToRoman(parseInt(numbersValue.replace(/\s/g,'')));
let numbersValueFormat = formatNumberResult(numbersValue.replace(/\s/g,''));
if (numbersValueFormat === messageError || result === messageError) {
$('.results').html(messageError);
@ -207,7 +201,7 @@ $(function () {
$('.results').html(`<b>${numbersValue}</b> est déjà en chiffres arabes.`);
} else {
numbersValue = numbersValue.toUpperCase();
let result = convertRomanToArabic(numbersValue);
const result = convertRomanToArabic(numbersValue);
if (result === 0) {
$('.results').html(messageError);
} else {
@ -225,7 +219,7 @@ $(function () {
let numbersValue = $('#numberToTest').val();
numbersValue = parseInt(numbersValue.replace(/\s/g,''));
if (!isNaN(numbersValue) && numbersValue >= 0) {
let result = armstrongNumber(numbersValue);
const result = armstrongNumber(numbersValue);
$('.results').html(result);
}
else {
@ -235,14 +229,14 @@ $(function () {
$("#submitHeapAlgorithm").click(function()
{
let value = $('#value').val();
const value = $('#value').val();
if(isEmptyValue(value))
{
$('.results').html(emptyMessageError);
}
else
{
let stringPermutationsResult = stringPermutations(value);
const stringPermutationsResult = stringPermutations(value);
let result = "";
for (element in stringPermutationsResult) {
result = result + stringPermutationsResult[element] + "<br>";
@ -255,7 +249,7 @@ $(function () {
window.onload = realDateTime('realDateTime');
/* Window Scroll Top Button */
var $btnScrollTop = $('.scroll-top-arrow');
const $btnScrollTop = $('.scroll-top-arrow');
$btnScrollTop.on('click', function () {
$('html, body').animate({scrollTop: 0}, 800);
return false;
@ -263,21 +257,21 @@ $(function () {
/* Date Picker */
$.fn.datepicker.dates['fr'] = {
days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"],
daysShort: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
daysMin: ["d", "l", "ma", "me", "j", "v", "s"],
months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"],
monthsShort: ["janv.", "févr.", "mars", "avril", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."],
today: "Aujourd'hui",
monthsTitle: "Mois",
clear: "Effacer",
weekStart: 1,
format: "dd/mm/yyyy"
days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"],
daysShort: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
daysMin: ["d", "l", "ma", "me", "j", "v", "s"],
months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"],
monthsShort: ["janv.", "févr.", "mars", "avril", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."],
today: "Aujourd'hui",
monthsTitle: "Mois",
clear: "Effacer",
weekStart: 1,
format: "dd/mm/yyyy"
};
$('.datepicker').datepicker({
language: 'fr',
autoclose: true,
todayHighlight: true
language: 'fr',
autoclose: true,
todayHighlight: true
})
})

View File

@ -261,6 +261,10 @@ const quotes =
quote:"Léchec nest quune opportunité pour recommencer la même chose plus intelligemment.",
source:"Henry Ford"
},
{
quote:"La différence entre la stupidité et le génie, cest que le génie a ses limites.",
source:"Neji Hyûga (Naruto)"
},
{
quote:"Rien n'est plus puissant qu'une idée dont l'heure est venue.",
source:"Victor Hugo"

View File

@ -32,7 +32,7 @@
<div class="text-center pb-5">
<h2 class="function-list-title"><a href="./function-views/calculateAge.php">Quelle âge avez-vous ?</a></h2>
<a href="./function-views/calculateAge.php"><img class="function-list-image" src="/img/function-image/calculateAge.png" alt="Calendrier"></a>
<p class="function-list-description">Calcule l'âge de quelqu'un selon la date de naissance.</p>
<p class="function-list-description">Calcule l'âge de quelqu'un selon ça date de naissance.</p>
</div>
</div>
<div class="col-sm-12 col-md-6 pb-4">

View File

@ -7,7 +7,10 @@
<!-- Page Content -->
<div class="container">
<h1><span class="important"><?php echo $title?></span> :</h1>
<p class="pt-3 text-center"><?php echo $description?></p>
<p class="pt-3 text-center"><?php echo $description?>
<br>
Les taux de change sont récupérés grâce à l'API <a href="https://exchangeratesapi.io/" target="_blank">exchangeratesapi.io</a>.
</p>
<div class="text-center">
<img class="function-image" src="/img/function-image/convertCurrency.png" alt="Sac de pièces">
</div>