Dash
Items
Custom JavaScript
Save
Cancel
const sortableElement = document.querySelector('.appheader'); function insertAfter(referenceNode, newNode) { referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); } function createAndInsertDiv(className, referenceNode) { var newDiv = document.createElement("div"); newDiv.classList.add(className); referenceNode.appendChild(newDiv); return newDiv; } if (sortableElement) { // Création de la div parente 'headerInfos' var headerInfos = document.createElement('div'); headerInfos.classList.add('headerInfos'); insertAfter(sortableElement, headerInfos); // Création de la div 'divDate' à l'intérieur de 'headerInfos' var divDate = createAndInsertDiv('divDate', headerInfos); // Création des éléments <div> pour la date et l'heure à l'intérieur de 'divDate' var timeDiv = createAndInsertDiv('horloge', divDate); var dateDiv = createAndInsertDiv('ladate', divDate); // Création de la div 'meteo' à l'intérieur de 'headerInfos' var meteoDiv = createAndInsertDiv('meteo', headerInfos); function afficherDateHeure() { const maintenant = new Date(); const optionsJour = { weekday: 'long' }; const optionsHeure = { hour: 'numeric', minute: 'numeric' }; const optionsDate = { year: 'numeric', month: 'long', day: 'numeric' }; const jourFormatted = maintenant.toLocaleDateString(undefined, optionsJour); const dateFormatted = maintenant.toLocaleDateString(undefined, optionsDate); const heureFormatted = maintenant.toLocaleTimeString(undefined, optionsHeure); // Effacer le contenu des éléments pour éviter l'accumulation des éléments dateDiv.innerHTML = ''; // Insérer le jour de la semaine dans la balise <span> de la classe '.ladate' var spanJourSemaine = document.createElement('span'); spanJourSemaine.textContent = jourFormatted; dateDiv.appendChild(spanJourSemaine); // Insérer l'heure sans les secondes dans '.horloge' timeDiv.textContent = heureFormatted; // Insérer le reste de la date en dehors de la balise <span> dateDiv.appendChild(document.createTextNode(dateFormatted)); } function afficherMeteo(latitude, longitude) { const apiKey = 'd299d1e06d800a971827cf9e159097b1' ; // Remplacez ceci par votre clé API OpenWeatherMap fetch(`https://api.openweathermap.org/data/2.5/weather?lat=${latitude}&lon=${longitude}&appid=${apiKey}&units=metric&lang=en`) .then(response => response.json()) .then(data => { const temperature = Math.round(data.main.temp); // Arrondir la température à l'entier le plus proche const ville = data.name; const icon = data.weather[0].icon; const description = data.weather[0].description; // Affichage de la météo dans la div 'meteo' meteoDiv.innerHTML = `<div class="ville-temp-container"><div class="temperature">${temperature}°C</div><div class="icon"><img src="http://openweathermap.org/img/wn/${icon}.png"></div></div><div class="ville-temp-container"><span class="ville">${ville}</span><span class="description">${description}</span</div>`; }) .catch(error => { console.error('Erreur lors de la récupération des données météo', error); meteoDiv.textContent = 'Impossible de récupérer les données météo'; }); } // Obtenir la géolocalisation de l'utilisateur (exemple ici avec une valeur statique) const latitude = 53.2606635; // Latitude de la ville (exemple pour Paris) const longitude = -2.1255158; // Longitude de la ville (exemple pour Paris) // Appel initial pour afficher la date, l'heure et la météo afficherDateHeure(); afficherMeteo(latitude, longitude); // Mettre à jour l'heure toutes les secondes setInterval(afficherDateHeure, 1000); }
Home dashboard
Users
Application list
Tags list
Settings