JSON of weatherRequest is recovered in PHP
This commit is contained in:
parent
53db5b80b3
commit
108295322f
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
htaccess
|
htaccess
|
||||||
scripts/config.js
|
php/keyVariable.php
|
11
README.md
11
README.md
@ -15,16 +15,16 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
|
|||||||
## La liste des Fonctions Principales :
|
## La liste des Fonctions Principales :
|
||||||
| Nom | Description | Paramètre(s) |
|
| Nom | Description | Paramètre(s) |
|
||||||
| -- | -- | -- |
|
| -- | -- | -- |
|
||||||
| **weatherRequest(url,toDo)** | Permet de faire une requête à l'API [openweathermap.org](https://openweathermap.org/). | - url : l'url avec le nom de la ville. - toDo : afficher l'heure uniquement ou aussi la météo ? |
|
| **weatherRequest()** | Affiche la météo et l'heure local 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 |
|
| **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 la 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) |
|
| **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 |
|
| **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 |
|
| **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 |
|
||||||
| **randomQuote()** | Génère aléatoirement une citation ou un proverbe. | Aucun paramètre |
|
| **randomQuote()** | Génère aléatoirement une citation ou un proverbe. | Aucun paramètre |
|
||||||
| **convertCurrency(value, currency, url)** | Convertis une valeur dans une devise dans une autre devise. [exchangeratesapi.io](https://exchangeratesapi.io/) | - value : la valeur à convertir - currency : la devise à avoir après conversion - url : l'url de la requête à l'API en fonction du paramètre dans l'url '?base=' |
|
| **convertCurrency(value, currency, url)** | Convertis une valeur dans une devise dans une autre devise grâce à l'API [exchangeratesapi.io](https://exchangeratesapi.io/). | - value : la valeur à convertir - currency : la devise à avoir après conversion - url : l'url de la requête à l'API en fonction du paramètre dans l'url '?base=' |
|
||||||
| **utf8ToBin(s)** | UTF-8 vers Binaire | - s : la valeur à convertir |
|
| **utf8ToBin(s)** | UTF-8 vers Binaire. | - s : la valeur à convertir |
|
||||||
| **binToUtf8(s)** | Binaire vers UTF-8 | - s : la valeur à convertir |
|
| **binToUtf8(s)** | Binaire vers UTF-8. | - s : la valeur à convertir |
|
||||||
| **convertArabicToRoman(nombre)** | Convertis un nombre arabe en nombre romain. | - nombre : le nombre à convertir |
|
| **convertArabicToRoman(nombre)** | Convertis un nombre arabe en nombre romain. | - nombre : le nombre à convertir |
|
||||||
| **convertRomanToArabic(str)** | Convertis un nombre romain en nombre arabe. | - str : le nombre romain à convertir |
|
| **convertRomanToArabic(str)** | Convertis un nombre romain en nombre arabe. | - str : le nombre romain à convertir |
|
||||||
| **armstrongNumber(nombre)** | Vérifie si un nombre fait partie des nombres d'Armstrong ou non. | - nombre : le nombre à tester |
|
| **armstrongNumber(nombre)** | Vérifie si un nombre fait partie des nombres d'Armstrong ou non. | - nombre : le nombre à tester |
|
||||||
@ -40,4 +40,5 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
|
|||||||
| **showDateTime(enteredOffset)** | Affiche la date et l'heure (format : dd/mm/yyyy - 00:00:00). | - enteredOffset : date à formaté |
|
| **showDateTime(enteredOffset)** | Affiche la date et l'heure (format : dd/mm/yyyy - 00:00:00). | - enteredOffset : date à formaté |
|
||||||
| **realDateTime(id)** | Affiche l'heure en temps réel. | - id : l'id de votre span/div où vous voulez afficher l'heure en temps réel |
|
| **realDateTime(id)** | Affiche l'heure en temps réel. | - id : l'id de votre span/div où vous voulez afficher l'heure en temps réel |
|
||||||
| **timeZone(json)** | Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API openweathermap.org. | - json : le json de l'API |
|
| **timeZone(json)** | Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API openweathermap.org. | - json : le json de l'API |
|
||||||
| **isValidDate(s)** | Vérifie si une date est valide par rapport à la date d'aujourd'hui. | - s : la date à verifier (format : dd/mm/yyyy) |
|
| **isValidDate(s)** | Vérifie si une date est valide par rapport à la date d'aujourd'hui. | - s : la date à verifier (format : dd/mm/yyyy) |
|
||||||
|
| **createSessionCookie(name, value)** | Créer un cookie de session | - name : nom du cookie - value : valeur du cookie |
|
@ -32,7 +32,6 @@
|
|||||||
|
|
||||||
<!-- Frameworks and Tools -->
|
<!-- Frameworks and Tools -->
|
||||||
<script src="/scripts/libs/jquery-min.js"></script>
|
<script src="/scripts/libs/jquery-min.js"></script>
|
||||||
<script type='text/javascript' src='/scripts/config.js'></script>
|
|
||||||
<link rel="stylesheet" href="/css/libs/bootstrap-min.css">
|
<link rel="stylesheet" href="/css/libs/bootstrap-min.css">
|
||||||
<script src="/scripts/libs/bootstrap-min.js"></script>
|
<script src="/scripts/libs/bootstrap-min.js"></script>
|
||||||
<script src="/scripts/libs/moment.js"></script>
|
<script src="/scripts/libs/moment.js"></script>
|
||||||
|
8
php/getWeatherJson.php
Normal file
8
php/getWeatherJson.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
include 'keyVariable.php';
|
||||||
|
ini_set("allow_url_fopen", 1);
|
||||||
|
$cityName = $_COOKIE['city'];
|
||||||
|
$url = 'https://api.openweathermap.org/data/2.5/weather?q='.$cityName.'&lang=fr&units=metric&appid='.$apiWeather;
|
||||||
|
$json = file_get_contents($url);
|
||||||
|
// $obj = json_decode($json);
|
||||||
|
echo $json;
|
@ -203,4 +203,9 @@ function isValidDate(s) {
|
|||||||
} else {
|
} else {
|
||||||
return messageError;
|
return messageError;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Créer un cookie de session
|
||||||
|
function createSessionCookie(name, value) {
|
||||||
|
document.cookie = escape(name) + "=" + escape(value) + " ; path=/";
|
||||||
|
}
|
@ -1,31 +1,20 @@
|
|||||||
/* Fonctions Principales */
|
/* Fonctions Principales */
|
||||||
|
|
||||||
// Requête à l'API openweathermap.org
|
// Affiche la météo et l'heure local selon la ville.
|
||||||
function weatherRequest(url) {
|
function weatherRequest() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url : url,
|
url: '/php/getWeatherJson.php',
|
||||||
dataType : "json",
|
type: "POST",
|
||||||
success: function (json) {
|
success: function(data) {
|
||||||
let city = json.name;
|
try {
|
||||||
let showDateTimeValue = timeZone(json);
|
let json = jQuery.parseJSON(data);
|
||||||
if(city === 'Moscou')
|
let city = json.name;
|
||||||
{
|
let showDateTimeValue = timeZone(json);
|
||||||
$('.results').html(`🌎 Position : <a href='https://www.google.com/maps/place/${city}/' class="yellow-color" target="_blank">${city}, RU</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"/>`);
|
|
||||||
$("#cityName, #submitWeatherRequest").click(function() {
|
|
||||||
document.location.replace("../../views/function-views/weatherRequest.php");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$('.results').html(`🌎 Position : <a href='https://www.google.com/maps/place/${city}/' 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"/>`);
|
$('.results').html(`🌎 Position : <a href='https://www.google.com/maps/place/${city}/' 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"/>`);
|
||||||
$("#cityName, #submitWeatherRequest").click(function() {
|
|
||||||
document.location.replace("../../views/function-views/weatherRequest.php");
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
},
|
catch(error) {
|
||||||
statusCode: {
|
$('.results').html("La ville que vous avez rentré n'existe pas (dans l'API).");
|
||||||
404: function() {
|
|
||||||
document.location.replace("../error404Weather");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -9,14 +9,11 @@ $(function () {
|
|||||||
if(isEmptyValue(cityName))
|
if(isEmptyValue(cityName))
|
||||||
{
|
{
|
||||||
$('.results').html(emptyMessageError);
|
$('.results').html(emptyMessageError);
|
||||||
$("#cityName, #submitWeatherRequest").click(function() {
|
|
||||||
document.location.replace("../function-views/weatherRequest.php");
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
let url = "https://api.openweathermap.org/data/2.5/weather?q=" + cityName + "&lang=fr&units=metric&appid=" + config.APIkeyWeather + "";
|
createSessionCookie("city", cityName);
|
||||||
weatherRequest(url);
|
weatherRequest();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
<!-- Config -->
|
|
||||||
<?php include("../php/config.php");?>
|
|
||||||
|
|
||||||
<!-- Header -->
|
|
||||||
<?php include("../incl/header.php");?>
|
|
||||||
|
|
||||||
<!-- Page Content -->
|
|
||||||
<div class="container">
|
|
||||||
<h1><span class="important">La météo</span> :</h1>
|
|
||||||
<p class="pt-3 text-center">Affiche la météo et l'heure local selon la ville.</p>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="cityName">Entrez le nom d'une ville :</label>
|
|
||||||
<input name="cityName" type="text" id="cityName" placeholder="(e.g : Paris)" class="form-control">
|
|
||||||
<br>
|
|
||||||
<div class="form-row text-center">
|
|
||||||
<div class="col-12">
|
|
||||||
<button type="submit" id="submitWeatherRequest" class="btn btn-dark text-center">Envoyer</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br> <br>
|
|
||||||
<p class="results text-center">La ville que vous avez rentré n'existe pas (dans l'API).</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
$(function () {
|
|
||||||
$("#cityName").click(function() {
|
|
||||||
document.location.replace("../views/function-views/weatherRequest.php");
|
|
||||||
});
|
|
||||||
$("#submitWeatherRequest").click(function() {
|
|
||||||
document.location.replace("../views/function-views/weatherRequest.php");
|
|
||||||
});
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Footer -->
|
|
||||||
<?php include("../incl/footer.php");?>
|
|
Reference in New Issue
Block a user