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
|
||||
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 :
|
||||
| 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 |
|
||||
| **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) |
|
||||
| **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 |
|
||||
| **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=' |
|
||||
| **utf8ToBin(s)** | UTF-8 vers Binaire | - s : la valeur à convertir |
|
||||
| **binToUtf8(s)** | Binaire vers UTF-8 | - s : la valeur à convertir |
|
||||
| **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 |
|
||||
| **binToUtf8(s)** | Binaire vers UTF-8. | - s : la valeur à 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 |
|
||||
| **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é |
|
||||
| **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 |
|
||||
| **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 -->
|
||||
<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">
|
||||
<script src="/scripts/libs/bootstrap-min.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 {
|
||||
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 */
|
||||
|
||||
// Requête à l'API openweathermap.org
|
||||
function weatherRequest(url) {
|
||||
$.ajax({
|
||||
url : url,
|
||||
dataType : "json",
|
||||
success: function (json) {
|
||||
let city = json.name;
|
||||
let showDateTimeValue = timeZone(json);
|
||||
if(city === 'Moscou')
|
||||
{
|
||||
$('.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
|
||||
{
|
||||
// Affiche la météo et l'heure local selon la ville.
|
||||
function weatherRequest() {
|
||||
$.ajax({
|
||||
url: '/php/getWeatherJson.php',
|
||||
type: "POST",
|
||||
success: function(data) {
|
||||
try {
|
||||
let json = jQuery.parseJSON(data);
|
||||
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}, ${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");
|
||||
});
|
||||
}
|
||||
},
|
||||
statusCode: {
|
||||
404: function() {
|
||||
document.location.replace("../error404Weather");
|
||||
catch(error) {
|
||||
$('.results').html("La ville que vous avez rentré n'existe pas (dans l'API).");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -9,14 +9,11 @@ $(function () {
|
||||
if(isEmptyValue(cityName))
|
||||
{
|
||||
$('.results').html(emptyMessageError);
|
||||
$("#cityName, #submitWeatherRequest").click(function() {
|
||||
document.location.replace("../function-views/weatherRequest.php");
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
let url = "https://api.openweathermap.org/data/2.5/weather?q=" + cityName + "&lang=fr&units=metric&appid=" + config.APIkeyWeather + "";
|
||||
weatherRequest(url);
|
||||
createSessionCookie("city", cityName);
|
||||
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