Voici un aperçu de l’organisation logique du projet (architecture logicielle et fonctionnelle) :
Le site permet aux utilisateurs de s’inscrire, renseigner leurs résidences principales et secondaires, et de consulter la météo quotidienne pour chaque lieu. Toutes les données sont enregistrées dans une base MySQL et mises à jour via une tâche CRON.
// Récupération utilisateur
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$_GET['id']]);
$user = $stmt->fetch();
// Récupération des adresses + météo
$stmt = $pdo->prepare("SELECT a.*, c.*, w.* FROM addresses a
JOIN city c ON a.city_id = c.id
LEFT JOIN weather_data w ON c.id = w.city_id
WHERE a.user_id = ?");
$stmt->execute([$user['id']]);
$residences = $stmt->fetchAll();
Voir MCD/MPD dans la section Vue Globale. Voici les points clés :
foreach ($all_cities as $city) {
$data = getWeatherFromAPI($city['name']);
$pdo->prepare("UPDATE weather_data SET temperature=?, wind_speed=?, last_update=? WHERE city_id=?")
->execute([$data['temp'], $data['wind'], date('Y-m-d H:i:s'), $city['id']]);
}
https://v-meteo.plsk.alt-365.comcron_update.php (via CRON Plesk)import_export.php